Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Apertura e verifica che il file di database di programma (PDB) corrisponda a informazioni sulla firma fornite e scrive il file pdb come origine dati di debug.
HRESULT loadAndValidateDataFromPdb (
LPCOLESTR pdbPath,
GUID* pcsig70,
DWORD sig,
DWORD age
);
Parametri
pdbPath
[in] Il percorso del file pdb.pcsig70
[in] La firma di GUID per verificare con la firma del file con estensione pdb.Solo file con estensione pdb in Visual C++ e successivamente avere firme di GUID.sig
[in] La firma a 32 bit che verifica della firma del file con estensione pdb.age
[in] Valore dell'età da verificare.L'età necessariamente non corrisponde ad alcun valore, viene utilizzata per determinare se un file con estensione pdb viene sincronizzata con un file EXE corrispondente.
Valore restituito
Se l'operazione riesce, restituisce S_OK; in caso contrario, restituisce un codice di errore.Nella tabella seguente vengono illustrati i valori restituiti possibili di questo metodo.
Valore |
Descrizione |
|---|---|
E_PDB_NOT_FOUND |
Non riuscire aprire il file, il file o ha un formato non valido. |
E_PDB_FORMAT |
Ha tentato di accedere a un file con un formato obsoleto. |
E_PDB_INVALID_SIG |
La firma non corrisponde. |
E_PDB_INVALID_AGE |
L'età non corrisponde. |
E_INVALIDARG |
parametro non valido. |
E_UNEXPECTED |
L'origine dati è già stata preparare. |
Note
Un file PDB contiene sia la firma che i valori dell'età.Questi valori esse vengono replicate nel file con estensione exe o dll corrispondente al file con estensione pdb.Prima della preparazione dell'origine dati, questo metodo verifica che la firma denominata e l'intervallo di file pdb corrispondano ai valori forniti.
Per caricare un file con estensione pdb senza convalida, utilizzare IDiaDataSource::loadDataFromPdb metodo.
Per accedere al processo di caricamento dati (tramite un meccanismo di callback, utilizzare IDiaDataSource::loadDataForExe metodo.
Per caricare un file con estensione pdb direttamente dalla memoria, utilizzare IDiaDataSource::loadDataFromIStream metodo.
Esempio
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
}
Vedere anche
Riferimenti
IDiaDataSource::loadDataForExe