IDiaDataSource::openSession

Opens a session for querying symbols.

Syntax

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