CertSelectionGetSerializedBlob 函数是一个帮助程序函数,用于从CERT_SELECTUI_INPUT结构中检索序列化的证书 BLOB。
Syntax
HRESULT CertSelectionGetSerializedBlob(
[in] PCERT_SELECTUI_INPUT pcsi,
[out] void **ppOutBuffer,
[out] ULONG *pulOutBufferSize
);
参数
[in] pcsi
指向包含证书存储和证书上下文链信息的 CERT_SELECTUI_INPUT 结构的指针。
[out] ppOutBuffer
指向接收序列化证书 BLOB 的缓冲区的指针的地址。
[out] pulOutBufferSize
指向 ULONG 的指针,用于接收 ppOutBuffer 参数指向的缓冲区中收到的 BLOB 的大小(以字节为单位)。
返回值
如果函数成功,该函数将返回 S_OK。
如果函数失败,它将返回指示错误的 HRESULT 值。 如果 hStore 和 prgpChain 参数都不是 NULL,则返回 E_INVALIDARG。 有关常见错误代码的列表,请参阅 通用 HRESULT 值。
注解
返回的序列化 BLOB 将传递给 pvInAuthBuffer 参数中的 CredUIPromptForWindowsCredentials 函数,以允许用户使用凭据选择 UI 选择证书。
此函数的 ppOutBuffer 参数指向的缓冲区中序列化的 BLOB 中序列化的证书取决于CERT_SELECTUI_INPUT结构的 hStore 和 prgpChain 成员的值。
| hStore | prgpChain | 序列化的证书 |
|---|---|---|
| NULL | not NULL | prgpChain 成员指向的证书已序列化。 |
| not NULL | NULL | 由 hStore 成员指定的证书已序列化。 |
| NULL | NULL | 返回一个空 BLOB。 |
| not NULL | not NULL | 调用失败,函数返回 E_INVALIDARG。 |
要求
| Requirement | 价值 |
|---|---|
| 最低支持的客户端 | Windows 7 [仅限桌面应用] |
| 支持的最低服务器 | Windows Server 2008 R2 [仅限桌面应用] |
| 目标平台 | Windows操作系统 |
| Header | cryptuiapi.h |
| Library | cryptui.lib |
| DLL | Cryptui.dll |