共用方式為


CryptCATAdminCalcHashFromFileHandle2 函式 (mscat.h)

CryptCATAdminCalcHashFromFileHandle2函式會使用指定的演算法來計算檔案的雜湊。

此函式沒有相關聯的匯入程式庫。 您必須使用 LoadLibraryGetProcAddress 函式,動態連結至 Wintrust.dll。

語法

BOOL CryptCATAdminCalcHashFromFileHandle2(
  [in]      HCATADMIN hCatAdmin,
  [in]      HANDLE    hFile,
  [in, out] DWORD     *pcbHash,
            BYTE      *pbHash,
            DWORD     dwFlags
);

參數

[in] hCatAdmin

開啟目錄管理員內容的控制碼。 如需詳細資訊,請參閱 CryptCATAdminAcquireCoNtext2

[in] hFile

正在計算其雜湊的檔案控制碼。 此參數不可為 Null ,而且必須是有效的檔案控制代碼。

[in, out] pcbHash

DWORD變數的指標,其中包含pbHash參數中的位元組數目。 在輸入時,將設定為配置給 pbHash的位元組數目。 傳回時,其會包含 pbHash中傳回的位元組數目。 如果 pbHash 設定為 Null則其會 包含要配置給 pbHash的位元組數目。

pbHash

接收雜湊的 BYTE 緩衝區指標。 如果您將此參數設定為 Null則其會 包含要配置給 pbHash的位元組數目,然後進行後續呼叫以擷取雜湊。

dwFlags

保留的。 這個值必須為零。

傳回值

如果函式成功,傳回值為非零 (TRUE) 。

如果函式失敗,傳回值為零, (FALSE) 。 如需擴充的錯誤資訊,請呼叫 GetLastError

下表列出 GetLastError 函式最常傳回的錯誤碼。

傳回碼 描述
ERROR_INVALID_PARAMETER
hFile參數不得為Null

hFile參數必須是有效的檔案控制代碼。

其參數不得為Null

dwFlags參數必須是零 (0) 。

ERROR_INSUFFICIENT_BUFFER
pbHash參數所指向的緩衝區不是Null,但不夠大,無法寫入。 所需緩衝區的正確大小會包含在 參數所 指向的值中。
NTE_BAD_ALGID
找不到 pwszHashAlgorithm 參數所指定的雜湊演算法。

備註

此函式執行所花費的時間量取決於要雜湊的檔案長度、使用的演算法,以及檔案位置。 例如,計算本機檔案的雜湊需要幾秒鐘的時間, (數百 MB) 。

需求

   
最低支援的用戶端 Windows 8 [僅限傳統型應用程式]
最低支援的伺服器 Windows Server 2012 [僅限傳統型應用程式]
目標平台 Windows
標頭 mscat.h
程式庫 Wintrust.lib
Dll Wintrust.dll

另請參閱

CryptCATAdminCalcHashFromFileHandle

CryptCATAdminCalcHashFromFileHandle2