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 メソッドを呼び出して、相対仮想アドレスの計算を有効にする必要があります。