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