ICommand::GetDBSession

Returns an interface pointer to the session that created the command.

Syntax

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

Parameters

  • riid
    [in] The IID of the interface on which to return a pointer.

  • ppSession
    [out] A pointer to memory in which to return the interface pointer. If the provider does not have an object that created the command, it sets *ppSession to a null pointer. If ICommand::GetDBSession fails, it must attempt to set *ppSession to a null pointer.

Return Code

  • S_OK
    The method succeeded.

  • S_FALSE
    The provider did not have an object that created the command. 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.

Comments

If the provider is an OLE DB 2.5 or later provider that implements IDBCreateCommand on the row object to support scoped commands, calling ICommand::GetDBSession on a row-scoped command returns an interface pointer on the row object's underlying session object.