Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Öffnet und überprüft, dass die Programmdatenbankdatei (.pdb) die jeweiligen Signaturinformationen übereinstimmt, und bereitet die PDB-Datei als die Datenquelle vor.
HRESULT loadAndValidateDataFromPdb (
LPCOLESTR pdbPath,
GUID* pcsig70,
DWORD sig,
DWORD age
);
Parameter
pdbPath
[in] Der Pfad zur PDB-Datei.pcsig70
[in] Die für die PDB-Datei-Unterzeichnung zu überprüfen, GUID-Unterzeichnung.Nur Visual C++ in PDB-Dateien verfügen und später GUID-Unterzeichnungen.sig
[in] Die für die PDB-Datei-Unterzeichnung zu überprüfen, 32-Bit-Unterzeichnung.age
[in] Der zu überprüfende Wert des Alters.Das Alter nicht notwendigerweise entspricht einem bekannten Uhrzeitwert, der verwendet wird, um zu bestimmen, ob eine PDB-Datei mit einer entsprechenden EXE-Datei nicht synchronisiert ist.
Rückgabewert
Bei Erfolg gibt S_OKzurück. andernfalls gibt einen Fehlercode zurück.In der folgenden Tabelle werden die möglichen Rückgabewerte für diese Methode auf.
Wert |
Beschreibung |
|---|---|
E_PDB_NOT_FOUND |
Fehlgeschlagene, die Datei oder die Datei geöffnet hat ein ungültiges Format. |
E_PDB_FORMAT |
Versucht, eine Datei mit einem veralteten Format zuzugreifen. |
E_PDB_INVALID_SIG |
Signatur stimmen nicht überein. |
E_PDB_INVALID_AGE |
Alter stimmen nicht überein. |
E_INVALIDARG |
Ungültiger Parameter. |
E_UNEXPECTED |
Die Datenquelle ist bereits vorbereitet wurde. |
Hinweise
Eine PDB-Datei Alters und Signatur enthält.Diese Werte werden im EXE- oder DLL-Datei repliziert, das die PDB-Datei übereinstimmt.Bevor sie die Datenquelle vorbereitet, überprüft diese Methode, ob der benannten .pdb-die Signatur und das Alter Datei die bereitgestellten Werte übereinstimmt.
Um eine PDB-Datei ohne Validierung zu laden, verwenden Sie die IDiaDataSource::loadDataFromPdb-Methode.
Um zum ladevorgang Daten zugreifen zu können (durch einen Rückrufmechanismus), verwenden Sie die IDiaDataSource::loadDataForExe-Methode.
Um eine PDB-Datei direkt aus dem Arbeitsspeicher zu laden, verwenden Sie die IDiaDataSource::loadDataFromIStream-Methode.
Beispiel
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
}
Siehe auch
Referenz
IDiaDataSource::loadDataForExe