An accessor is a collection of information that describes how data is stored in the consumer's buffer. For example, it contains the type of each piece of data, the offset in the buffer at which it is stored, the scale and precision used by data stored in a DB_NUMERIC structure, and so on. When the consumer calls a method that transfers data, such as IRowset::GetData or ICommand::Execute, it passes the handle to an accessor and a pointer to a buffer. The provider uses this accessor to determine how to transfer the data contained in the buffer.
An accessor is identified by its handle.
typedef ULONG HACCESSOR;
# define DB_INVALID_HACCESSOR 0x00
DB_INVALID_HACCESSOR is an accessor handle value that is always invalid.