次の方法で共有


CUtlProps::OnInterfaceRequested

コンシューマーがあるときに省略可能なインターフェイスのハンドルの要求はオブジェクト作成する方法の 1 つがインターフェイスします。

virtual HRESULT CUtlPropsBase::OnInterfaceRequested(
   REFIID riid
);

パラメーター

  • riid
    [in] 要求されたインターフェイスの IID。詳細については、 " OLE DB Programmer's Reference "ICommand::Execute の riid パラメーターの説明を参照してください ( MDAC SDK)。

解説

OnInterfaceRequested は、コンシューマーがオブジェクト作成インターフェイスの 1 とおりの方法をダイヤルすると省略可能なインターフェイスのコンシューマーの要求を処理します ( IDBCreateSessionIDBCreateCommandIOpenRowset、または ICommandなど)。は、要求されたインターフェイスの対応する OLE DB プロパティを設定します。たとえば、コンシューマーが IID_IRowsetLocateを要求した場合、 OnInterfaceRequestedDBPROP_IRowsetLocate インターフェイスを設定します。すると、行セットの作成時に、正しい状態を保持します。

このメソッドは、コンシューマーが IOpenRowset::OpenRowsetICommand::Executeをダイヤルするときに呼び出されます。

コンシューマーがオブジェクトを開き、省略可能なインターフェイスを要求した場合、プロバイダーはプロパティを VARIANT_TRUEにそのインターフェイスに関連付けられた設定する必要があります。処理するプロパティ仕様を可能にするには OnInterfaceRequested は、プロバイダーの 実行 のメソッドが呼び出される前に呼び出されます。既定では、 OnInterfaceRequested は次のインターフェイスを処理します:

  • IRowsetLocate

  • IRowsetChange

  • IRowsetUpdate

  • IConnectionPointContainer

  • IRowsetScroll

他のインターフェイスを処理する場合は、関数を処理するデータ ソース、セッション、コマンド、または行セット クラスでこの関数をオーバーライドします。オーバーライドが設定されている標準によってする必要があります。プロパティの設定もチェーン プロパティを設定するようにプロパティ インターフェイスを取得します ( OnPropertyChangedを参照してください)。

必要条件

Header: atldb.h

参照

関連項目

CUtlProps クラス