CUtlProps::OnInterfaceRequested

更新 : 2007 年 11 月

コンシューマがオブジェクト作成インターフェイスのいずれかに対してメソッドを呼び出すときに、省略可能インターフェイスの要求を処理します。

virtual HRESULT CUtlPropsBase::OnInterfaceRequested(
   REFIID riid
);

パラメータ

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

解説

OnInterfaceRequested は、コンシューマがオブジェクト作成インターフェイスのいずれか (IDBCreateSessionIDBCreateCommandIOpenRowsetICommand など) に対してメソッドを呼び出すときに、省略可能インターフェイスの要求を処理します。また、要求されたインターフェイスに対応する OLE DB プロパティを設定します。たとえば、コンシューマが IID_IRowsetLocate を要求した場合、OnInterfaceRequestedDBPROP_IRowsetLocate インターフェイスを設定します。この処理により、行セット作成時の正しい状態が維持されます。

このメソッドは、コンシューマが IOpenRowset::OpenRowset または ICommand::Execute を呼び出すときに呼び出されます。

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

  • IRowsetLocate

  • IRowsetChange

  • IRowsetUpdate

  • IConnectionPointContainer

  • IRowsetScroll

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

必要条件

ヘッダー : atldb.h

参照

参照

CUtlProps クラス

その他の技術情報

CUtlProps のメンバ