Sdílet prostřednictvím


IDiaDataSource::loadAndValidateDataFromPdb

Otevře a ověří, zda soubor databáze (PDB) programu odpovídá podpisu informace poskytnuté a připraví soubor PDB jako zdroj dat pro ladění.

HRESULT loadAndValidateDataFromPdb ( 
   LPCOLESTR pdbPath,
   GUID*     pcsig70,
   DWORD     sig,
   DWORD     age
);

Parametry

  • pdbPath
    [v] Cesta k souboru PDB.

  • pcsig70
    [v] Identifikátor GUID podpis ověřit proti podpisu soubor PDB.PDB pouze soubory v Visual C++ a později GUID podpisy.

  • sig
    [v] 32Bitové podpis ověřit proti podpisu soubor PDB.

  • age
    [v] Hodnota stáří ověřit.Stáří nemusí nezbytně odpovídat známé čas, slouží k určení, zda je synchronizován s odpovídající soubor exe soubor PDB.

Vrácená hodnota

V případě úspěchu vrátí S_OK; v opačném případě vrátí kód chyby.Následující tabulka ukazuje možné vrácené hodnoty pro tuto metodu.

Value

Description

E_PDB_NOT_FOUND

Nepodařilo se otevřít soubor nebo soubor má neplatný formát.

E_PDB_FORMAT

Došlo k pokusu o přístup k souboru s zastaralý formát.

E_PDB_INVALID_SIG

Podpis neodpovídá.

E_PDB_INVALID_AGE

Věk neodpovídá.

E_INVALIDARG

Neplatný parametr.

E_UNEXPECTED

Zdroj dat již připravena.

Poznámky

Soubor PDB obsahuje hodnoty podpisu a věk.Tyto hodnoty jsou replikovány v souboru EXE nebo DLL odpovídající soubor PDB.Před přípravou zdroj dat, tato metoda ověří podpis a stáří soubor PDB pojmenované odpovídají hodnoty uvedené.

Chcete-li načíst soubor PDB bez ověření, použijte IDiaDataSource::loadDataFromPdb metoda.

Chcete-li získat přístup k procesu načítání dat (prostřednictvím mechanismu zpětné volání), použijte IDiaDataSource::loadDataForExe metoda.

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é

Referenční dokumentace

IDiaDataSource

IDiaDataSource::loadDataForExe

IDiaDataSource::loadDataFromPdb

IDiaDataSource::loadDataFromIStream