MDAC 2.5 SDK - OLE DB Programmer's Reference
OLE DB Interfaces


 

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.