次の方法で共有


WTHelperGetFileHash 関数

[ WTHelperGetFileHash 関数は、[要件] セクションで指定されたオペレーティング システムで使用できます。 これは、以降のバージョンで変更または使用できない可能性があります。

WTHelperGetFileHash 関数は、署名されたファイルの署名を検証し、ファイルのハッシュ値とアルゴリズム識別子を取得します。

Note

この関数は、発行済みのヘッダー ファイルでは宣言されていません。 この関数を使用するには、表示されている正確な形式で宣言します。 この関数には、関連付けられたインポート ライブラリもありません。 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, optional]

ファイルのハッシュ値を受け取るバッファーへのポインター。 pcbFileHash パラメーターには、このバッファーのサイズが含まれています。

pcbFileHash [in, out, optional]

入力時に pbFileHash バッファーのサイズ (バイト単位) を格納し、出力時にハッシュ値のサイズ (バイト単位) を受け取る DWORD 変数へのポインター。

ハッシュ値の必要なサイズを取得するには、pbFileHash パラメーターに NULL を渡します。 この関数は、この場所にハッシュ値の必要なサイズ (バイト単位) を配置します。

pbFileHash パラメーターが NULL ではなく、サイズがハッシュ値を受け取るのに十分な大きさでない場合、この関数は必要なサイズ (バイト単位) をこの場所に配置し、ERROR_MORE_DATAを返します。

pHashAlgid [out, optional]

ハッシュ値の作成に使用 される アルゴリズムの識別子を受け取るALG_ID変数へのポインター。 この情報が必要ない場合は、このパラメーターを NULL にすることができます

戻り値

関数の成功または失敗を示す状態コードを返します。

可能なリターン コードには、次のものが含まれますが、これらに限定されません。

リターン コード 説明
ERROR_SUCCESS
ファイルが署名され、署名が検証されました。
ERROR_MORE_DATA
pbFileHash パラメーターが NULL ではなく、pcbFileHash パラメーターで指定されたサイズがハッシュを受け取るのに十分な大きさではありません。
ERROR_NOT_ENOUGH_MEMORY
メモリ割り当てエラーが発生しました。
TRUST_E_BAD_DIGEST
ファイルの署名が検証されませんでした。
TRUST_E_NOSIGNATURE
ファイルが署名されていないか、無効な署名が含まれています。

 

要件

要件
サポートされている最小のクライアント
Windows XP [デスクトップ アプリのみ]
サポートされている最小のサーバー
Windows Server 2003 [デスクトップ アプリのみ]
[DLL]
Wintrust.dll