次の方法で共有


IDiaAddressMap::set_imageHeaders

イメージ ヘッダーを設定して、相対仮想アドレス変換を有効にします。

構文

HRESULT set_imageHeaders ( 
   DWORD cbData,
   BYTE  data[],
   BOOL  originalHeaders
);

パラメーター

cbData

[入力] ヘッダー データのバイト数。 n*sizeof(IMAGE_SECTION_HEADER) である必要があります。n は、実行可能ファイル内のセクション ヘッダーの数です。

data[]

[入力] イメージ ヘッダーとして使用される IMAGE_SECTION_HEADER 構造体の配列。

originalHeaders

[入力] イメージ ヘッダーが新しいイメージからのものである場合は FALSE に設定し、アップグレード前の元のイメージを反映している場合は TRUE に設定します。 通常、これは、IDiaAddressMap::set_addressMap メソッドの呼び出しと組み合わせて使用する場合にのみ、TRUE に設定されます。

戻り値

成功した場合は、S_OK を返します。それ以外の場合は、エラー コードを返します。

解説

IMAGE_SECTION_HEADER 構造体は Winnt.h で宣言され、実行可能ファイルのイメージ セクション ヘッダー形式を表します。

相対仮想アドレスの計算は、IMAGE_SECTION_HEADER 値によって異なります。 通常、DIA は、プログラム データベース (.pdb) ファイルからこれらを取得します。 これらの値が見つからない場合、DIA は相対仮想アドレスを計算できず、IDiaAddressMap::get_relativeVirtualAddressEnabled メソッドは FALSE を返します。 その後、クライアントは欠落しているイメージ ヘッダーをイメージ自体から提供した後に、IDiaAddressMap::put_relativeVirtualAddressEnabled メソッドを呼び出して、相対仮想アドレスの計算を有効にする必要があります。

関連項目