IDiaDataSource::loadAndValidateDataFromPdb
開きプログラム データベース (.pdb) ファイルが提供されている定義の情報と一致することを確認しデバッグ データ ソースとして .pdb ファイルを準備します。
HRESULT loadAndValidateDataFromPdb (
LPCOLESTR pdbPath,
GUID* pcsig70,
DWORD sig,
DWORD age
);
パラメーター
pdbPath
[入力] .pdb ファイルへのパス。pcsig70
[入力] .pdb ファイルの定義に対して検証する GUID の定義。 Visual C++ の .pdb ファイルは後で GUID の定義があります。sig
[入力] .pdb ファイルの定義に対して検証する 32 ビットの定義。age
[入力] 検証する値を期日を経過してください。 期間は既知の時刻値必ずしも使用して.pdb ファイルが対応する .exe ファイルと同期するかどうかを確認するために対応しません。
戻り値
正常に終了した場合戻り S_OK; それ以外の場合はエラー コード。 次の表はこのメソッドの有効な戻り値を示します。
値 |
Description |
---|---|
E_PDB_NOT_FOUND |
ファイルを開きますいないかファイルに無効な書式指定があります。 |
E_PDB_FORMAT |
旧式の形式のファイルにアクセスしようとしました。 |
E_PDB_INVALID_SIG |
シグネチャが一致しません。 |
E_PDB_INVALID_AGE |
年齢が一致しません。 |
E_INVALIDARG |
無効なパラメーター。 |
E_UNEXPECTED |
データ ソースが既に用意されています。 |
解説
.pdb ファイルは定義と時間の値の両方が含まれます。 これらの値は.pdb ファイルを検索する .dll ファイルまたは .exe にレプリケートされます。 データ ソースを準備する前にこのメソッドはという名前の .pdb ファイルの定義と期間が指定された値と一致することを確認します。
検証せずに .pdb ファイルを読み込むにはIDiaDataSource::loadDataFromPdb のメソッドを使用します。
データの読み込みプロセスにアクセスするにはコールバック機構を通じてIDiaDataSource::loadDataForExe のメソッドを使用します。
メモリの .pdb ファイルを直接読み込むにはIDiaDataSource::loadDataFromIStream のメソッドを使用します。
使用例
IDiaDataSource* pSource; // Previously created data source.
DEFINE_GUID(expectedGUIDSignature,0x1234,0x5678,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08);
DWORD expectedFileSignature = 0x12345678;
DWORD expectedAge = 128;
HRESULT hr;
hr = pSource->loadAndValidateDataFromPdb( L"yprog.pdb",
&expectedGUIDSignature,
expectedFileSignature,
expectedAge);
if (FAILED(hr))
{
// Report an error
}
参照
関連項目
IDiaDataSource::loadDataForExe