Share via


IGetSession::GetSession

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

Syntax

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.