OLE DB Programmer's Reference

IGetSession::GetSession

Returns an interface pointer on the session object associated with the row object.

HRESULT GetSession(
   REFIID        riid,
   IUnknown    **ppSession
);

Parameters

riid
[in]
The interface ID (IID) of the requested interface to return in ppSession.
ppSession
[out]
A pointer to memory in which to return the interface pointer on the session. If the provider does not have a session object as the context for the row, it sets *ppSession to a null pointer. If IGetSession::GetSession fails and ppSession is not a null pointer, the provider must attempt to set *ppSession to a null pointer.

Return Code

S_OK
The method succeeded.
DB_E_NOSOURCEOBJECT
The provider did not have a session object as the context for the row. Therefore, it set *ppSession to a null pointer.
E_FAIL
A provider-specific error occurred.
E_INVALIDARG
ppSession was a null pointer.
E_NOINTERFACE
The session did not support the interface specified in riid.
E_UNEXPECTED
ITransaction::Commit or ITransaction::Abort was called, and the object is in a zombie state.

Comments

If IGetSession::GetSession succeeds, it increments the reference count on the session object.