This section describes Jet-specific implementation of the IAccessor Interfaces. This includes IAccessor::AddRefAccessor, IAccessor::CreateAccessor, IAccessor::GetBindings, and IAccessor::ReleaseAccessor.
To create an accessor, a consumer calls CreateAccessor. The consumer may create and release accessors at any time while the rowset or command remains in existence. When one thread of a consumer shares an accessor with another thread, it calls AddRefAccessor to increment the reference count of that accessor.
When the consumer is done with a rowset, it calls ReleaseAccessor to release any accessors on the rowset, including accessors inherited from the command. When the consumer is done with a command, it calls ReleaseAccessor to release any accessors created on the command. In both cases, the consumer must call ReleaseAccessor once for each reference count on the accessor.
Method | 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. |
Adds a reference count to an existing accessor. For information on how this interface is implemented, see the OLE DB Programmer’s Reference. OLE DB Programmer’s Reference
CreateAccessor creates an accessor from a set of bindings. For information on how this interface is implemented, see the OLE DB Programmer’s References.
Returns the bindings in an accessor. For information on how this interface is implemented, see the OLE DB Programmer’s References.
Releases an accessor. For information on how this interface is implemented, see the OLE DB Programmer’s References.
Do not try to optimize accessors in this provider. It does not have internal row cache. Therefore, it is not capable of optimization as described in the OLE DB Programmer’s Reference. All accessors are equally optimized as they are in process.