Initiates access to a source of debugging symbols.


IDiaDataSource : IUnknown

Methods in Vtable Order

The following table shows the methods of IDiaDataSource.

Method Description
IDiaDataSource::get_lastError Retrieves the file name for the last load error.
IDiaDataSource::loadDataFromPdb Opens and prepares a program database (.pdb) file as a debug data source.
IDiaDataSource::loadAndValidateDataFromPdb Opens and verifies that the program database (.pdb) file matches the signature information provided; prepares the .pdb file as a debug data source.
IDiaDataSource::loadDataForExe Opens and prepares the debug data associated with the .exe/.dll file.
IDiaDataSource::loadDataFromIStream Prepares the debug data stored in a program database (.pdb) file accessed through an in-memory data stream.
IDiaDataSource::openSession Opens a session for querying symbols.


A call to one of the load methods of the IDiaDataSource interface opens the symbol source. A successful call to the IDiaDataSource::openSession method returns an IDiaSession interface that supports querying the data source. If the load method returns a file-related error then the IDiaDataSource::get_lastError method return value contains the file name associated with the error.

Notes for Callers

This interface is obtained by calling the CoCreateInstance function with the class identifier CLSID_DiaSource and the interface ID of IID_IDiaDataSource. The example shows how this interface is obtained.


      IDiaDataSource* pSource;
HRESULT hr = CoCreateInstance(CLSID_DiaSource,
                              (void**) &pSource);
if (FAILED(hr))
    // Report error and exit


Header: Dia2.h

Library: diaguids.lib

DLL: msdia80.dll

See also