IDiaDataSource::openSession

Opens a session for querying symbols.

HRESULT openSession ( 
   IDiaSession** ppSession
);

Parameters

  • ppSession
    [out] Returns an IDiaSession object representing the open session.

Return Value

If successful, returns S_OK; otherwise, returns an error code. The following table shows the possible return values for this method.

Value

Description

E_UNEXPECTED

The IDiaDataSource object has not previously been initialized with a source of symbols.

E_INVALIDARG

Invalid ppSession parameter.

E_OUTOFMEMORY

Insufficient memory to open the session.

Remarks

This method opens an IDiaSession object for a data source.

IDiaSession objects implement queries into the data source. A session manages one address space for each set of debug symbols. If the .exe or .dll file described by the data source symbols is active in multiple address ranges (for example, because multiple processes have it loaded), then one session for each address range should be used.

Example

IDiaSession* pSession;
HRESULT hr = pSource->openSession( &pSession );
if (FAILED(hr))
{
   // report error
}

See Also

Tasks

Querying the .Pdb File

Reference

IDiaDataSource

IDiaSession

Other Resources

Overview (Debug Interface Access SDK)