IAccessorImpl Class
Provides an implementation of the IAccessor interface.
Syntax
template <class T,
class BindType = ATLBINDINGS,
class BindingVector = CAtlMap <HACCESSOR hAccessor, BindType* pBindingsStructure>>
class ATL_NO_VTABLE IAccessorImpl : public IAccessorImplBase<BindType>
Parameters
T
Your rowset or command object class.
BindType
Storage unit for binding information. The default is the ATLBINDINGS
structure (see atldb.h).
BindingVector
Storage unit for column information. The default is CAtlMap where the key element is an HACCESSOR value and the value element is a pointer to a BindType
structure.
Requirements
Header: atldb.h
Members
Methods
Name | Description |
---|---|
IAccessorImpl | The constructor. |
Interface Methods
Name | Description |
---|---|
AddRefAccessor | Adds a reference count to an existing accessor. |
CreateAccessor | Creates an accessor from a set of bindings. |
GetBindings | Returns the bindings in an accessor. |
ReleaseAccessor | Releases an accessor. |
Remarks
This is mandatory on rowsets and commands. OLE DB requires providers to implement an HACCESSOR, which is a tag to an array of DBBINDING structures. HACCESSORs provided by IAccessorImpl
are addresses of the BindType
structures. By default, BindType
is defined as an ATLBINDINGS
in IAccessorImpl
's template definition. BindType
provides a mechanism used by IAccessorImpl
to track the number of elements in its DBBINDING
array as well as a reference count and accessor flags.
IAccessorImpl::IAccessorImpl
The constructor.
Syntax
IAccessorImpl();
IAccessorImpl::AddRefAccessor
Adds a reference count to an existing accessor.
Syntax
STDMETHOD(AddRefAccessor)(HACCESSOR hAccessor,
DBREFCOUNT* pcRefCount);
Parameters
See IAccessor::AddRefAccessor in the OLE DB Programmer's Reference.
IAccessorImpl::CreateAccessor
Creates an accessor from a set of bindings.
Syntax
STDMETHOD(CreateAccessor)(DBACCESSORFLAGS dwAccessorFlags,
DBCOUNTITEM cBindings,
const DBBINDING rgBindings[],
DBLENGTH cbRowSize,
HACCESSOR* phAccessor,
DBBINDSTATUS rgStatus[]);
Parameters
See IAccessor::CreateAccessor in the OLE DB Programmer's Reference.
IAccessorImpl::GetBindings
Returns the basic columns bindings from the consumer in an accessor.
Syntax
STDMETHOD(GetBindings)(HACCESSOR hAccessor,
DBACCESSORFLAGS* pdwAccessorFlags,
DBCOUNTITEM* pcBindings,
DBBINDING** prgBindings);
Parameters
See IAccessor::GetBindings in the OLE DB Programmer's Reference.
IAccessorImpl::ReleaseAccessor
Releases an accessor.
Syntax
STDMETHOD(ReleaseAccessor)(HACCESSOR hAccessor,
DBREFCOUNT* pcRefCount);
Parameters
See IAccessor::ReleaseAccessor in the OLE DB Programmer's Reference.
See also
OLE DB Provider Templates
OLE DB Provider Template Architecture