次の方法で共有


CryptCATAdminCalcHashFromFileHandle2 関数 (mscat.h)

CryptCATAdminCalcHashFromFileHandle2 関数は、指定したアルゴリズムを使用してファイルのハッシュを計算します。

この関数には、関連付けられたインポート ライブラリがありません。 LoadLibrary 関数と GetProcAddress 関数を使用して、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

pbHash パラメーターのバイト数を含む DWORD 変数へのポインター。 入力時に、 pcbHash を pbHash に割り当てられたバイト数に設定 します。 返されると、 pcbHash には pbHash で返されたバイト数が含 まれますpbHashNULL に設定されている場合、pcbHash には pbHash に割り当てるバイト数が含まれます

pbHash

ハッシュを受け取る BYTE バッファーへのポインター。 このパラメーターを NULL に設定すると、 pcbHash には pbHash に割り当てるバイト数が含まれます。その後、ハッシュを取得する呼び出しを行うことができます。

dwFlags

予約済み。 必ずゼロを指定します。

戻り値

関数が成功した場合、戻り値は 0 以外 (TRUE) になります

関数が失敗した場合、戻り値は 0 (FALSE) になります。 拡張エラー情報については、 GetLastError を呼び出します。

次の表に、 GetLastError 関数によって最も一般的に返されるエラー コードを示します。

リターン コード 説明
ERROR_INVALID_PARAMETER
hFile パラメーターは NULL にすることはできません。

hFile パラメーターは、有効なファイル ハンドルである必要があります。

pcbHash パラメーターは NULL にすることはできません。

dwFlags パラメーターはゼロ (0) である必要があります。

ERROR_INSUFFICIENT_BUFFER
pbHash パラメーターが指すバッファーは NULL ではなく、書き込むのに十分な大きさではなかった。 必要なバッファーの正しいサイズは、 pcbHash パラメーターが指す値に含まれています。
NTE_BAD_ALGID
pwszHashAlgorithm パラメーターで指定されたハッシュ アルゴリズムが見つかりません。

解説

この関数の実行にかかる時間は、ハッシュされるファイルの長さ、使用されているアルゴリズム、およびファイルの場所によって異なります。 たとえば、非常に大きい (数百メガバイト) ローカル ファイルのハッシュを計算するのに数秒かかります。

要件

   
サポートされている最小のクライアント Windows 8 [デスクトップ アプリのみ]
サポートされている最小のサーバー Windows Server 2012 [デスクトップ アプリのみ]
対象プラットフォーム Windows
ヘッダー mscat.h
Library Wintrust.lib
[DLL] Wintrust.dll

関連項目

CryptCATAdminCalcHashFromFileHandle

CryptCATAdminCalcHashFromFileHandle2