Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Inicjuje dostęp do źródła symboli debugowania.
Składnia
IDiaDataSource : IUnknown
Metody w tabeli Vtable Order
W poniższej tabeli przedstawiono metody .IDiaDataSource
| Metoda | opis |
|---|---|
IDiaDataSource::get_lastError |
Pobiera nazwę pliku dla ostatniego błędu ładowania. |
IDiaDataSource::loadDataFromPdb |
Otwiera i przygotowuje plik bazy danych programu (.pdb) jako źródło danych debugowania. |
IDiaDataSource::loadAndValidateDataFromPdb |
Otwiera i sprawdza, czy plik bazy danych programu (.pdb) jest zgodny z podanymi informacjami o podpisie; przygotowuje plik .pdb jako źródło danych debugowania. |
IDiaDataSource::loadDataForExe |
Otwiera i przygotowuje dane debugowania skojarzone z plikiem .exe/.dll. |
IDiaDataSource::loadDataFromIStream |
Przygotowuje dane debugowania przechowywane w pliku bazy danych programu (.pdb) dostępne za pośrednictwem strumienia danych w pamięci. |
IDiaDataSource::openSession |
Otwiera sesję na potrzeby wykonywania zapytań o symbole. |
IDiaDataSource::loadDataFromCodeViewInfo |
Otwiera i przygotowuje dane debugowania skojarzone z podanymi informacjami CodeView. |
IDiaDataSource::loadDataFromMiscInfo |
Otwiera i przygotowuje dane debugowania skojarzone z podanymi informacjami debugowania. |
Uwagi
Wywołanie jednej z metod ładowania interfejsu IDiaDataSource powoduje otwarcie źródła symboli. Pomyślne wywołanie metody IDiaDataSource::openSession zwraca interfejs IDiaSession obsługujący wykonywanie zapytań względem źródła danych. Jeśli metoda ładowania zwraca błąd związany z plikiem, zwracana wartość metody IDiaDataSource::get_lastError zawiera nazwę pliku skojarzona z błędem.
Uwagi dotyczące wywoływania
Ten interfejs jest uzyskiwany przez wywołanie CoCreateInstance funkcji za pomocą identyfikatora CLSID_DiaSource klasy i identyfikatora interfejsu klasy IID_IDiaDataSource. W przykładzie pokazano, jak ten interfejs jest uzyskiwany.
Przykład
IDiaDataSource* pSource;
HRESULT hr = CoCreateInstance(CLSID_DiaSource,
NULL,
CLSCTX_INPROC_SERVER,
IID_IDiaDataSource,
(void**) &pSource);
if (FAILED(hr))
{
// Report error and exit
}
Wymagania
Nagłówek: Dia2.h
Biblioteka: diaguids.lib
BIBLIOTEKA DLL: msdia140.dll