以下是 IAppxBlockMapReader 接口的基本信息:
MIDL_INTERFACE("5efec991-bca3-42d1-9ec2-e92d609ec22a")
IAppxBlockMapReader : public IUnknown
{
public:
virtual HRESULT STDMETHODCALLTYPE GetFile(
/* [in] */ LPCWSTR filename,
/* [retval][out] */ IAppxBlockMapFile **file) = 0;
virtual HRESULT STDMETHODCALLTYPE GetFiles(
/* [retval][out] */ IAppxBlockMapFilesEnumerator **filesEnumerator) = 0;
virtual HRESULT STDMETHODCALLTYPE GetBlockRanges(
/* [in] */ UINT32 fileOffset,
/* [in] */ UINT32 *blockCount,
/* [retval][size_is][size_is][out] */ IAppxBlockMapBlock **blocks) = 0;
virtual HRESULT STDMETHODCALLTYPE GetLocalFileHeaderSize(
/* [retval][out] */ UINT32 *lfhSize) = 0;
virtual HRESULT STDMETHODCALLTYPE ValidateTargetPath(
/* [in] */ LPCWSTR targetPath,
/* [in] */ LPCWSTR fileName,
/* [retval][out] */ BOOL *isValid) = 0;
virtual HRESULT STDMETHODCALLTYPE GetStreamSizes(
/* [retval][out] */ UINT64 *blockSize,
/* [retval][out] */ UINT64 *uncompressedSize) = 0;
};
这个接口提供了一系列方法,用于获取应用包的块映射信息。以下是主要方法的简要说明:
- GetFile: 通过文件名获取块映射中的文件信息。
- GetFiles: 获取块映射中的所有文件的枚举器。
- GetBlockRanges: 获取指定文件的块范围。
- GetLocalFileHeaderSize: 获取本地文件头的大小。
- ValidateTargetPath: 验证目标路径是否有效。
- GetStreamSizes: 获取块大小和未压缩大小。
这个接口的使用通常与应用包装相关的其他接口一起,用于检查和处理应用程序包的块映射信息。块映射信息对于验证和提取应用程序包的内容非常重要。
请注意,使用这些接口时需要了解应用包装的相关概念和 API。
转载请注明出处:http://www.zyzy.cn/article/detail/23860/Win32 API/Appxpackaging.h/IAppxBlockMapReader