IAccessor インターフェイスの実装を提供します。
構文
template <class T,
class BindType = ATLBINDINGS,
class BindingVector = CAtlMap <HACCESSOR hAccessor, BindType* pBindingsStructure>>
class ATL_NO_VTABLE IAccessorImpl : public IAccessorImplBase<BindType>
パラメーター
T
行セットまたはコマンド オブジェクト クラス。
BindType
バインド情報のストレージ ユニット。 既定値は ATLBINDINGS 構造体です (atldb.h を参照してください)。
BindingVector
列情報のストレージ ユニット。 既定は CAtlMap です。このキー要素は HACCESSOR 値であり、値要素は BindType 構造体へのポインターです。
要件
ヘッダー: atldb.h
メンバー
メソッド
| Name | 説明 |
|---|---|
| IAccessorImpl | コンストラクター。 |
インターフェイス メソッド
| 名前 | 説明 |
|---|---|
| AddRefAccessor | 既存のアクセサーに参照カウントを追加します。 |
| CreateAccessor | バインドのセットからアクセサーを作成します。 |
| GetBindings | アクセサーのバインドを返します。 |
| ReleaseAccessor | アクセサーを解放します。 |
解説
これは、行セットとコマンドで必須です。 OLE DB ではプロバイダーが HACCESSOR (DBBINDING 構造体の配列へのタグ) を実装する必要があります。 IAccessorImpl で提供される HACCESSOR は BindType 構造体のアドレスです。 既定では、BindType は IAccessorImpl のテンプレート定義で ATLBINDINGS と定義されています。 BindType には、DBBINDING 配列の要素数、参照カウント、アクセサー フラグを追跡するために IAccessorImpl が使うメカニズムがあります。
IAccessorImpl::IAccessorImpl
コンストラクター。
構文
IAccessorImpl();
IAccessorImpl::AddRefAccessor
既存のアクセサーに参照カウントを追加します。
構文
STDMETHOD(AddRefAccessor)(HACCESSOR hAccessor,
DBREFCOUNT* pcRefCount);
パラメーター
「OLE DB プログラマーズ リファレンス」の「IAccessor::AddRefAccessor」を参照してください。
IAccessorImpl::CreateAccessor
バインドのセットからアクセサーを作成します。
構文
STDMETHOD(CreateAccessor)(DBACCESSORFLAGS dwAccessorFlags,
DBCOUNTITEM cBindings,
const DBBINDING rgBindings[],
DBLENGTH cbRowSize,
HACCESSOR* phAccessor,
DBBINDSTATUS rgStatus[]);
パラメーター
「OLE DB プログラマーズ リファレンス」の「IAccessor::CreateAccessor」を参照してください。
IAccessorImpl::GetBindings
アクセサーで、コンシューマーから基本的な列バインドを返します。
構文
STDMETHOD(GetBindings)(HACCESSOR hAccessor,
DBACCESSORFLAGS* pdwAccessorFlags,
DBCOUNTITEM* pcBindings,
DBBINDING** prgBindings);
パラメーター
「OLE DB プログラマーズ リファレンス」の「IAccessor::GetBindings」を参照してください。
IAccessorImpl::ReleaseAccessor
アクセサーを解放します。
構文
STDMETHOD(ReleaseAccessor)(HACCESSOR hAccessor,
DBREFCOUNT* pcRefCount);
パラメーター
「OLE DB プログラマーズ リファレンス」の「IAccessor::ReleaseAccessor」を参照してください。