次の方法で共有


OLE DB プロバイダー テンプレート リファレンス

OLE DB プロバイダー テンプレートのクラスとインターフェイスは次のようにグループ化できます。 参考資料には、OLE DB プロバイダー テンプレートのマクロに関する情報もあります。

クラスは次の名前付け規則に従っています。パターン IWidgetImpl で名前が付けられたクラスは、インターフェイス IWidget の実装を提供します。

セッション クラス

IDBCreateSessionImpl
データ ソース オブジェクトから新しいセッションを作成し、新しく作成されたセッションに要求されたインターフェイスを返します。 データ ソース オブジェクトでは必須のインターフェイスです。

ISessionPropertiesImpl
プロパティ セット マップで定義された静的関数を呼び出すことで、セッションのプロパティを実装します。 プロパティ セット マップは、セッション クラスで指定する必要があります。 セッションでは必須のインターフェイスです。

行セットのクラス

CRowsetImpl

多くの実装インターフェイスの多重継承を必要としない、標準の OLE DB 行セット実装を提供します。 実装を提供する必要があるメソッドは Execute のみです。

CSimpleRow
IRowsetImpl クラスで使われる、行ハンドルの既定の実装を提供します。 行ハンドルは、論理的には結果行の一意のタグです。 IRowsetImpl::GetNextRows で要求されたすべての行に対して新しい CSimpleRow を作成するには、IRowsetImpl を使います。

IAccessorImpl
OLE DB では、プロバイダーは HACCESSOR を実装する必要があります。これは DBBINDING 構造体の配列へのタグです。 BindType 構造体のアドレスである HACCESSOR を指定します。 行セットとコマンドでは必須です。

IColumnsInfoImpl
プロバイダー列マップによって定義された静的関数にデリゲートします。 行セットとコマンドでは必須インターフェイスです。

IConvertTypeImpl
コマンドまたは行セットで型変換が可能かどうかを示す情報を提供します。 コマンド、行セット、インデックス行セットで必須です。 OLE DB によって提供される変換オブジェクトにデリゲートすることで、IConvertType インターフェイスを実装します。

IDBSchemaRowsetImpl
IDBSchemaRowset インターフェイスとテンプレート化されたクリエーター関数 CreateSchemaRowset を実装します。

IOpenRowsetImpl
1 つのベース テーブルまたはインデックスのすべての行を含む行セットを開いて返します。 セッション オブジェクトには必須のインターフェイスです。

IRowsetChangeImpl
OLE DB IRowsetChange インターフェイスを実装します。これにより、既存の行の列の値の更新、行の削除、新しい行の挿入が可能になります。

IRowsetCreatorImpl
このクラスは IObjectWithSite から継承され、IObjectWithSite::SetSite をオーバーライドします。 IRowsetCreatorImplIObjectWithSite と同じ関数を実行しますが、OLE DB プロパティ DBPROPCANSCROLLBACKWARDSDBPROPCANFETCHBACKWARDS も有効にします。

IRowsetIdentityImpl
IRowsetIdentity インターフェイスを実装します。これにより、2 つのデータ行が同一かどうかを比較できるようになります。

IRowsetImpl
ベース行セット インターフェイスである IRowset インターフェイスの実装を提供します。

IRowsetInfoImpl
コマンド クラスに定義されているプロパティ セット マップを使い、行セットのプロパティを実装します。 行セットでは必須のインターフェイスです。

IRowsetLocateImpl
OLE DB IRowsetLocate インターフェイスを実装します。これにより、行セットから任意の行をフェッチできるようになります。 行セットで OLE DB ブックマークをサポートするには、行セットをこのクラスから継承します。

IRowsetNotifyCP
行セットの内容に対する変更のコネクション ポイント IID_IRowsetNotify をリスナーに通知するブロードキャスト関数を実装します。 通知を処理するコンシューマーは IRowsetNotify を実装し、その接続ポイントに登録します。

IRowsetUpdateImpl
OLE DB の IRowsetUpdate インターフェイスを実装します。これにより、コンシューマーは、IRowsetChange によって行われた変更をデータ ソースに送信するのを遅らせ、送信前に変更を元に戻すことができるようになります。

コマンド クラス

ICommandImpl
ICommand インターフェイスの実装を提供します。 このインターフェイスは表示されませんが、ICommandTextImpl によって処理されます。 コマンド オブジェクトの必須インターフェイス。

ICommandPropertiesImpl
この ICommandProperties インターフェイスの実装は、BEGIN_PROPSET_MAP マクロで定義された静的関数によって提供されます。 コマンドでは必須です。

ICommandTextImpl
コマンド テキストの設定、格納、返す処理を行います。 コマンドでは必須です。

IDBCreateCommandImpl
セッション オブジェクトから新しいコマンドを作成し、新しく作成されたコマンドに要求されたインターフェイスを返します。 セッション オブジェクトでは省略可能なインターフェイスです。

他のコマンド クラスは IColumnsInfoImplIAccessorImpl です。前述の「行セットのクラス」セクションを参照してください。

データ ソース クラス

IDBInitializeImpl
コンシューマーとの接続を作成および削除します。 データ ソース オブジェクトでは必須インターフェイスであり、列挙子では省略可能なインターフェイスです。

IDBPropertiesImpl
IDBProperties は、データ ソース オブジェクトには必須のインターフェイスであり、列挙子には省略可能なインターフェイスです。 ただし、列挙子が IDBInitialize を公開している場合は、IDBProperties (データ ソース上のプロパティ) を公開する必要があります。

IGetDataSourceImpl
データ ソース オブジェクトへのインターフェイス ポインターを取得します。 セッションでは必須のインターフェイスです。

その他のクラス

CUtlProps
さまざまな OLE DB プロパティ インターフェイスのプロパティを実装します (例: IDBPropertiesISessionPropertiesIRowsetInfo)。

IErrorRecordsImpl

データ メンバーのレコードを追加および取得する OLE DB の IErrorRecords インターフェイスを実装します。

関連項目

OLE DB コンシューマー テンプレート リファレンス
OLE DB テンプレート