IDiaDataSource::loadAndValidateDataFromPdb
Otevře a ověří, že soubor databáze programu (.pdb) odpovídá zadaným informacím o podpisu a připraví soubor .pdb jako zdroj dat ladění.
Syntaxe
HRESULT loadAndValidateDataFromPdb (
LPCOLESTR pdbPath,
GUID* pcsig70,
DWORD sig,
DWORD age
);
Parametry
pdbPath
[v] Cesta k souboru .pdb.
pcsig70
[v] Podpis globálně jedinečného identifikátoru (GUID) pro ověření podpisu souboru PDB. Pouze soubory .pdb v jazyce Visual C++ a novější mají podpisy GUID.
sig
[v] 32bitový podpis, který se má ověřit u podpisu souboru PDB.
age
[v] Věková hodnota, která se má ověřit. Věk nemusí nutně odpovídat žádné známé časové hodnotě, slouží k určení, zda je soubor .pdb mimo synchronizaci s odpovídajícím .exe souborem.
Návratová hodnota
V případě úspěchu vrátí hodnotu S_OK
; v opačném případě vrátí kód chyby. Následující tabulka ukazuje možné návratové hodnoty pro tuto metodu.
Hodnota | Popis |
---|---|
E_PDB_NOT_FOUND | Soubor se nepodařilo otevřít nebo soubor má neplatný formát. |
E_PDB_FORMAT | Pokusil se o přístup k souboru s zastaralým formátem. |
E_PDB_INVALID_SIG | Podpis se neshoduje. |
E_PDB_INVALID_AGE | Věk se neshoduje. |
E_INVALIDARG | Neplatný parametr. |
E_UNEXPECTED | Zdroj dat je již připravený. |
Poznámky
Soubor PDB obsahuje podpisové i věkové hodnoty. Tyto hodnoty se replikují v souboru .exe nebo .dll, který odpovídá souboru .pdb. Před přípravou zdroje dat tato metoda ověří, že signatura souboru .pdb a stáří odpovídají zadaným hodnotám.
Pokud chcete načíst soubor .pdb bez ověření, použijte metodu IDiaDataSource::loadDataFromPdb .
Pokud chcete získat přístup k procesu načítání dat (prostřednictvím mechanismu zpětného volání), použijte metodu IDiaDataSource::loadDataForExe .
Chcete-li načíst soubor .pdb přímo z paměti, použijte IDiaDataSource::loadDataFromIStream metoda.
Příklad
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
}
Viz také
Váš názor
https://aka.ms/ContentUserFeedback.
Připravujeme: V průběhu roku 2024 budeme postupně vyřazovat problémy z GitHub coby mechanismus zpětné vazby pro obsah a nahrazovat ho novým systémem zpětné vazby. Další informace naleznete v tématu:Odeslat a zobrazit názory pro