WTHelperGetFileHash 函数
[ WTHelperGetFileHash 函数可用于“要求”部分中指定的操作系统。 它在后续版本中可能已更改或不可用。]
WTHelperGetFileHash 函数验证已签名文件的签名,并获取文件的哈希值和算法标识符。
注意
此函数未在已发布的头文件中声明。 若要使用此函数,请以所示的确切格式声明它。 此函数也没有关联的导入库。 必须使用 LoadLibrary 和 GetProcAddress 函数动态链接到Wintrust.dll。
语法
LONG WINAPI WTHelperGetFileHash(
_In_ LPCWSTR pwszFilename,
_In_ DWORD dwFlags,
_Inout_opt_ PVOID pvReserved,
_Out_opt_ BYTE *pbFileHash,
_Inout_opt_ DWORD *pcbFileHash,
_Out_opt_ ALG_ID *pHashAlgid
);
参数
-
pwszFilename [in]
-
指向以 null 结尾的 Unicode 字符串的指针,该字符串包含要获取其哈希的文件的路径和文件名。
-
dwFlags [in]
-
不使用此参数,应为零。
-
pvReserved [in, out, optional]
-
不使用此参数,应为 NULL。
-
pbFileHash [out, 可选]
-
指向缓冲区的指针,用于接收文件的哈希值。 该参数包含此缓冲区的大小。
-
2013 年 10 月 20 日 ,可选
-
指向 DWORD 变量的指针,该变量在输入时包含 pbFileHash 缓冲区的大小(以字节为单位),并在输出时接收哈希值的大小(以字节为单位)。
若要获取哈希值所需的大小,请为 pbFileHash 参数传递 NULL。 此函数会将哈希值所需的大小(以字节为单位)放置在此位置。
如果 pbFileHash 参数不为 NULL,并且大小不足以接收哈希值,则此函数会将所需大小(以字节为单位)放置在此位置并返回 ERROR_MORE_DATA。
-
pHashAlgid [out, optional]
-
指向 ALG_ID 变量的指针,用于接收用于创建哈希值的算法的标识符。 如果不需要此信息,此参数可以为 NULL 。
返回值
返回指示函数成功或失败的状态代码。
可能的返回代码包括但不限于以下内容。
返回代码 | 说明 |
---|---|
|
文件已签名,签名已验证。 |
|
pbFileHash 参数不为 NULL,并且由“pbFileHash”参数指定的大小不够大,无法接收哈希。 |
|
发生内存分配失败。 |
|
未验证文件的签名。 |
|
文件未签名或签名无效。 |
要求
要求 | 值 |
---|---|
最低受支持的客户端 |
Windows XP [仅限桌面应用] |
最低受支持的服务器 |
Windows Server 2003 [仅限桌面应用] |
DLL |
|