初始化签名管理器
本主题介绍如何初始化签名管理器以用于 XPS 文档。
在程序中使用以下代码示例之前,请阅读常见数字签名编程任务中的免责声明。
若要使用加密 API 的 Windows 7 功能,请按如下所示定义 CRYPT_OID_INFO_HAS_EXTRA_FIELDS 符号:
#define CRYPT_OID_INFO_HAS_EXTRA_FIELDS
接下来,通过调用 CoCreateInstance 来实例化 IXpsSignatureManager 接口,如以下代码示例所示。
IXpsSignatureManager *newInterface;
// Note the implicit requirement that CoInitializeEx
// has previously been called from this thread.
hr = CoCreateInstance(
__uuidof(XpsSignatureManager),
NULL,
CLSCTX_INPROC_SERVER,
__uuidof(IXpsSignatureManager),
reinterpret_cast<LPVOID*>(&newInterface));
// make sure that you got a pointer
// to the interface
if (SUCCEEDED(hr)) {
// Load document into signature manager from file.
// xpsDocument is initialized with the file name
// of the document to load outside of this example.
hr = newInterface->LoadPackageFile (xpsDocument);
// Use newInterface
// Release interface pointers when finished with them
newInterface->Release();
}
CoCreateInstance 实例化的接口只能由一个 XPS 文档使用,必须通过在调用任何其他方法之前调用 LoadPackageFile 或 LoadPackageStream 来加载该文档。
实例化 IXpsSignatureManager 接口并加载 XPS 文档后,签名管理器已准备好使用。
相关主题
-
后续步骤
-
本部分使用的内容
-
详细信息