CryptCATAdminCalcHashFromFileHandle2 函数 (mscat.h)
CryptCATAdminCalcHashFromFileHandle2 函数使用指定的算法计算文件的哈希。
此函数没有关联的导入库。 必须使用 LoadLibrary 和 GetProcAddress 函数动态链接到 Wintrust.dll。
语法
BOOL CryptCATAdminCalcHashFromFileHandle2(
[in] HCATADMIN hCatAdmin,
[in] HANDLE hFile,
[in, out] DWORD *pcbHash,
BYTE *pbHash,
DWORD dwFlags
);
parameters
[in] hCatAdmin
打开的目录管理员上下文的句柄。 有关详细信息,请参阅 CryptCATAdminAcquireContext2。
[in] hFile
正在计算其哈希的文件的句柄。 此参数不能为 NULL ,必须是有效的文件句柄。
[in, out] pcbHash
指向包含 pbHash 参数中的字节数的 DWORD 变量的指针。 输入时,将 “pbHash ”设置为为 pbHash 分配的字节数。 返回时,以 pbHash 形式包含返回的字节数。 如果 pbHash 设置为 NULL,则 pbHash 包含要为 pbHash 分配的字节数。
pbHash
指向接收哈希的 BYTE 缓冲区的指针。 如果将此参数设置为 NULL, 则代码将 包含要为 pbHash 分配的字节数,并且可以进行后续调用来检索哈希。
dwFlags
保留。 此值必须为零。
返回值
如果函数成功,则返回值为非零 (TRUE) 。
如果函数失败,则返回值为零 (FALSE) 。 有关扩展的错误信息,请调用 GetLastError。
下表列出了 GetLastError 函数最常返回的错误代码。
返回代码 | 说明 |
---|---|
|
hFile 参数不能为 NULL。
hFile 参数必须是有效的文件句柄。 该参数不得为 NULL。 dwFlags 参数必须为零 (0) 。 |
|
pbHash 参数指向的缓冲区不是 NULL,但不够大,无法写入。 所需缓冲区的正确大小包含在 由hash 参数指向的值中。 |
|
找不到 pwszHashAlgorithm 参数指定的哈希算法。 |
注解
此函数执行所需的时间取决于要哈希处理的文件的长度、使用的算法和文件位置。 例如,计算非常大的本地文件的哈希需要几秒钟 (几百兆字节) 。
要求
最低受支持的客户端 | Windows 8 [仅限桌面应用] |
最低受支持的服务器 | Windows Server 2012 [仅限桌面应用] |
目标平台 | Windows |
标头 | mscat.h |
Library | Wintrust.lib |
DLL | Wintrust.dll |