CryptCATAdminEnumCatalogFromHash 函数 (mscat.h)
[ CryptCATAdminEnumCatalogFromHash 函数可用于“要求”部分中指定的操作系统。 它在后续版本中可能已更改或不可用。]
CryptCATAdminEnumCatalogFromHash 函数枚举包含指定哈希的目录。 哈希通常从 CryptCATAdminCalcHashFromFileHandle 函数返回。 最后调用此函数后,调用 CryptCATAdminReleaseCatalogContext 以释放分配的内存。
语法
HCATINFO CryptCATAdminEnumCatalogFromHash(
[in] HCATADMIN hCatAdmin,
[in] BYTE *pbHash,
[in] DWORD cbHash,
[in] DWORD dwFlags,
[in] HCATINFO *phPrevCatInfo
);
参数
[in] hCatAdmin
以前由 CryptCATAdminAcquireContext 函数分配的目录管理员上下文的句柄。
[in] pbHash
指向缓冲区的指针,该缓冲区包含通过调用 CryptCATAdminCalcHashFromFileHandle 检索到的哈希。
[in] cbHash
为 pbHash 分配的缓冲区中的字节数。
[in] dwFlags
此参数保留供将来使用,必须设置为零。
[in] phPrevCatInfo
指向指向上一个目录上下文的句柄的指针或 NULL。 若要获取包含哈希的第一个目录,或启动所有目录的枚举,请为此参数传递 NULL 。 若要继续枚举,请传递上一个调用的返回值,直到找不到更多目录。
返回值
返回值是目录上下文的句柄;如果没有更多要枚举的目录,则返回值为 NULL 。
注意: HCATINFO 类型只是 HANDLE 的 typedef,因此很容易在错误的上下文中意外使用 HCATINFO。 具体而言,这与从 CryptCATOpen 返回的 HANDLE 不同,即使编译器不会阻止你在需要目录句柄的任何函数中使用 HCATINFO。 若要从此函数获取目录句柄,请先调用 CryptCATCatalogInfoFromContext 以获取目录的文件名,然后使用该文件名调用 CryptCATOpen 。
有关扩展的错误信息,请调用 GetLastError 函数。 有关操作系统提供的错误代码的完整列表,请参阅 系统错误代码。
注意: 函数返回 类型为 HCATINFO 的值,但这只是 HANDLE 的 typedef。 因此,在调用需要不同类型 HANDLE 的函数时,很容易意外地使用 HCATINFO。 具体而言,这与从 CryptCATOpen 返回的 HANDLE 不同,即使编译器不会阻止你在需要目录句柄的任何函数中使用 HCATINFO。
若要从此函数获取目录句柄,请先调用 CryptCATCatalogInfoFromContext 以获取目录的文件名,然后使用该文件名调用 CryptCATOpen 以打开目录。
要求
要求 | 值 |
---|---|
最低受支持的客户端 | Windows XP [仅限桌面应用] |
最低受支持的服务器 | Windows Server 2003 [仅限桌面应用] |
目标平台 | Windows |
标头 | mscat.h |
Library | Wintrust.lib |
DLL | Wintrust.dll |