CUtlProps::OnInterfaceRequested
コンシューマーがあるときに省略可能なインターフェイスのハンドルの要求はオブジェクト作成する方法の 1 つがインターフェイスします。
virtual HRESULT CUtlPropsBase::OnInterfaceRequested(
REFIID riid
);
パラメーター
- riid
[in] 要求されたインターフェイスの IID。詳細については、 " OLE DB Programmer's Reference " の ICommand::Execute の riid パラメーターの説明を参照してください ( MDAC SDK)。
解説
OnInterfaceRequested は、コンシューマーがオブジェクト作成インターフェイスの 1 とおりの方法をダイヤルすると省略可能なインターフェイスのコンシューマーの要求を処理します ( IDBCreateSession、 IDBCreateCommand、 IOpenRowset、または ICommandなど)。は、要求されたインターフェイスの対応する OLE DB プロパティを設定します。たとえば、コンシューマーが IID_IRowsetLocateを要求した場合、 OnInterfaceRequested は DBPROP_IRowsetLocate インターフェイスを設定します。すると、行セットの作成時に、正しい状態を保持します。
このメソッドは、コンシューマーが IOpenRowset::OpenRowset か ICommand::Executeをダイヤルするときに呼び出されます。
コンシューマーがオブジェクトを開き、省略可能なインターフェイスを要求した場合、プロバイダーはプロパティを VARIANT_TRUEにそのインターフェイスに関連付けられた設定する必要があります。処理するプロパティ仕様を可能にするには OnInterfaceRequested は、プロバイダーの 実行 のメソッドが呼び出される前に呼び出されます。既定では、 OnInterfaceRequested は次のインターフェイスを処理します:
IRowsetLocate
IRowsetChange
IRowsetUpdate
IConnectionPointContainer
IRowsetScroll
他のインターフェイスを処理する場合は、関数を処理するデータ ソース、セッション、コマンド、または行セット クラスでこの関数をオーバーライドします。オーバーライドが設定されている標準によってする必要があります。プロパティの設定もチェーン プロパティを設定するようにプロパティ インターフェイスを取得します ( OnPropertyChangedを参照してください)。
必要条件
Header: atldb.h