<Return[I]><Top>

ImageGetDigestStream

Declare Function Api_ImageGetDigestStream& Lib "imagehlp" Alias "ImageGetDigestStream" (ByVal FileHandle&, ByVal DigestLevel&, ByRef DigestFunction As DIGEST_FUNCTION, ByRef DigestHandle As DIGEST_HANDLE)

Declare Function ImageGetDigestStream Lib "imagehlp" Alias "ImageGetDigestStream" (ByVal FileHandle As Long, ByVal DigestLevel As Long, ByRef DigestFunction As DIGEST_FUNCTION, ByRef DigestHandle As DIGEST_HANDLE) As Long

渡された DigestLevel パラメータに従って、指定されたイメージファイルから取り出したデータのダイジェストを返す。

パラメータ
FileHandle
    変更したいイメージファイルのハンドルを指定する。FILE_READ_DATA アクセス権を備えた状態で、このハンドルを開いておかなければなら

    ない。
DigestLevel
    イメージのうち、返されるデータストリームに含めたい要素を指定する。このパラメータで、次の値の 1 つまたは複数を指定する。

    値                                                                           

意味                                         

    CERT_PE_IMAGE_DIGEST_DEBUG_INFO

シンボリックデバッグ情報を含める。

    CERT_PE_IMAGE_DIGEST_RESOURCES

リソース情報を含める。

    CERT_PE_IMAGE_DIGEST_ALL_IMPORT_INFO

すべてのインポート情報を含める。

DigestFunction
    データを処理するコールバックルーチンへのポインタを指定する。
DigestHandle
    ユーザーが提供する、ダイジェストのハンドルを指定する。このパラメータは、第 1 の引数として DigestFunction へ渡される。

戻り値
    関数が成功すると、TRUE が返る。
    関数が失敗すると、FALSE が返る。拡張エラー情報を取得するには、 関数を使う。

解説
    ImageGetDigestStream 関数は、渡された DigestLevel パラメータに従って、指定されたイメージファイルから取り出したデータのダイジェス

    トを返す。何回か呼び出しても、返されるバイトの順序は一定である。取得したバイトストリームから毎回同じメッセージダイジェストを作成す

    ることを保証する上で、このことが必要である。
    複数のプラットフォーム間の互換性を保証するために、この関数のどの実装も、イメージファイルのさまざまなパートを返す順序の点で一定の

    基準に従って動作しなければならない。
    データを次の順序で返すべきである。
        1.イメージ(実行可能ファイルと静的データ)情報
        2.リソースデータ
        3.デバッグ情報
    これらのいずれも指定されていない場合、残りのパートを同じ順序で返さなければならない。