CryptEnumKeyIdentifierProperties 函数 (wincrypt.h)
语法
BOOL CryptEnumKeyIdentifierProperties(
[in, optional] const CRYPT_HASH_BLOB *pKeyIdentifier,
[in] DWORD dwPropId,
[in] DWORD dwFlags,
[in, optional] LPCWSTR pwszComputerName,
[in] void *pvReserved,
[in, optional] void *pvArg,
[in] PFN_CRYPT_ENUM_KEYID_PROP pfnEnum
);
参数
[in, optional] pKeyIdentifier
指向包含密钥标识符 的CRYPT_HASH_BLOB 结构的指针。
如果 pKeyIdentifier 为 NULL,则该函数枚举所有密钥标识符。
如果 pKeyIdentifier 不为 NULL,则仅对指定的密钥标识符调用回调函数 pfnEnum 。
[in] dwPropId
指示要列出的属性标识符。
如果 dwPropId 设置为零,则此函数使用所有属性调用回调函数。
如果 dwPropId 不为零且 pKeyIdentifier 为 NULL,则仅对具有指定属性的键标识符调用回调函数, (将 pfnEnum 的 cProp 参数设置为一个) 。 跳过所有没有 属性的密钥标识符。
可以使用任何证书属性标识符。
[in] dwFlags
默认情况下,搜索 CurrentUser 的密钥标识符列表。 如果设置了CRYPT_KEYID_MACHINE_FLAG,则如果 pwszComputerName 为 NULL) ,则 LocalMachine 的密钥标识符列表 (;如果 ) 搜索 pwszComputerName 不是 NULL ,则为远程计算机 (。 有关详细信息,请参阅 pwszComputerName。
[in, optional] pwszComputerName
指向要搜索的远程计算机名称的指针。 如果在 dwFlags 中设置了CRYPT_KEYID_MACHINE_FLAG,则会在远程计算机中搜索密钥标识符列表。 如果要搜索本地计算机而不是远程计算机, 则 pwszComputerName 设置为 NULL。
[in] pvReserved
保留供将来使用,必须为 NULL。
[in, optional] pvArg
指向要传递给回调函数的数据的指针。 类型是一个 void,它允许应用程序声明、定义和初始化结构或参数以保存任何信息。
[in] pfnEnum
指向应用程序定义的回调函数的指针,该回调函数针对与输入参数匹配的每个键标识符条目执行。 有关回调函数参数的详细信息,请参阅 CRYPT_ENUM_KEYID_PROP。
返回值
CryptEnumKeyIdentifierProperties 函数会重复调用 CRYPT_ENUM_KEYID_PROP 回调函数,直到枚举最后一个密钥标识符或回调函数返回 FALSE。
如果main函数成功,该函数将返回非零 (TRUE) 。
如果函数失败,则返回零 (FALSE) 。 有关扩展的错误信息,请调用 GetLastError。
若要继续枚举,函数将返回 TRUE。
若要停止枚举,函数将返回 FALSE 并设置最后一个错误代码。
注解
密钥标识符可以具有与 证书上下文相同的属性。
示例
有关使用此函数的示例,请参阅 示例 C 程序:使用密钥标识符。
要求
要求 | 值 |
---|---|
最低受支持的客户端 | Windows XP [仅限桌面应用] |
最低受支持的服务器 | Windows Server 2003 [仅限桌面应用] |
目标平台 | Windows |
标头 | wincrypt.h |
Library | Crypt32.lib |
DLL | Crypt32.dll |