接口定义
interface IAppxDigestProvider : public IUnknown
{
public:
virtual HRESULT STDMETHODCALLTYPE GetDigest(
/* [retval][out] */ __RPC__deref_out_opt IUri **digestUri) = 0;
virtual HRESULT STDMETHODCALLTYPE GetStream(
/* [retval][out] */ __RPC__deref_out_opt IStream **digestStream) = 0;
virtual HRESULT STDMETHODCALLTYPE GetPackagingVersion(
/* [retval][out] */ __RPC__out UINT32 *packagingVersion) = 0;
};
方法说明
- GetDigest: 获取应用程序包的数字摘要的 URI。
- GetStream: 获取应用程序包的数字摘要数据的流。
- GetPackagingVersion: 获取应用程序包的打包版本。
使用示例
#include <appxpackaging.h>
// Assume you have an IAppxDigestProvider* named digestProvider
IUri* digestUri = nullptr;
IStream* digestStream = nullptr;
UINT32 packagingVersion = 0;
// Get the digest URI
HRESULT hr = digestProvider->GetDigest(&digestUri);
if (SUCCEEDED(hr)) {
// Process the digest URI, if needed
// Remember to release the URI when done
digestUri->Release();
digestUri = nullptr;
}
// Get the digest stream
hr = digestProvider->GetStream(&digestStream);
if (SUCCEEDED(hr)) {
// Process the digest stream, if needed
// Remember to release the stream when done
digestStream->Release();
digestStream = nullptr;
}
// Get the packaging version
hr = digestProvider->GetPackagingVersion(&packagingVersion);
if (SUCCEEDED(hr)) {
// Process the packaging version
}
请注意,上述示例中的代码假定你已经获取了一个有效的 IAppxDigestProvider 接口的实例。在实际使用中,你可能需要先获取应用程序包的 IAppxFile 接口,然后通过该接口获取 IAppxDigestProvider 接口进行数字摘要信息的获取。
转载请注明出处:http://www.zyzy.cn/article/detail/23874/Win32 API/Appxpackaging.h/IAppxDigestProvider