Supported OLE DB Interfaces

Following are the OLE DB interfaces supported by the Microsoft OLE DB Simple Provider Toolkit. Because the Toolkit provides support for redistributable components, you may want to include this information along with the providers you build.

Data Source Object

Interface Description
IConnectionPointContainer When implemented on an object, makes the object connectable and expresses the existence of outgoing interfaces on the object. Through this interface a client can either locate a specific connection point for one IID or enumerate the connection points that exist. (Note that this is an OLE, not an OLE DB, interface. For more information, refer to the OLE 2 Programmer's Reference.)
IDBAsynchStatus Polls for status or cancels the asynchronous operation on the object being initialized, generated, or populated.
IDBCreateSession Used by consumers to create a new session on a data source object.
IDBInitialize Initializes a data source object or enumerator.
IDBProperties Sets and gets the values of properties on the data source object or enumerator, and gets all information about all properties supported by the provider.
IPersist An interface that is implemented by object applications and used by container applications to get the CLSID associated with an object.
ISupportErrorInfo Indicates whether a specific interface can return Automation and OLE DB error objects.

Session Object

Interface Description and Notes
IOpenRowset Enables consumers to open and work directly with individual tables or indexes in a data source.

When using IOpenRowset::OpenRowset against an OLE DB provider written with the OLE DB Simple Provider Toolkit, you can only issue OpenRowset once for each OSP. The second call will fail with a status code of E_FAIL.

IGetDataSource Mandatory interface on the session for obtaining a data source object.
ISessionProperties Performs row updates, deletes, and inserts.
ISupportErrorInfo Indicates whether a specific interface can return Automation and OLE DB error objects.

Rowset Object

Interface Description
IAccessor Provides methods for accessor management.
IColumnsInfo Exposes information about columns of a Rowset or prepared command.
IConnectionPointContainer When implemented on an object, makes the object connectable and expresses the existence of outgoing interfaces on the object. Through this interface a client can either locate a specific connection point for one IID or enumerate the connection points that exist. (Note that this is an OLE, not an OLE DB, interface. For more information, refer to the OLE 2 Programmer's Reference.)
IConvertType Provides information about the availability of type conversions on a command or Rowset.
IDBAsynchStatus Polls for status or cancels the asynchronous operation on the object being initialized, generated, or populated.
IRowset Provides methods for fetching rows sequentially, getting the data from those rows, and managing the rows.
IRowsetChange Performs row updates, deletes, and inserts.
IRowsetFind Allows consumers to find a row within the Rowset matching a specified value.
IRowsetIdentity Indicates that row instance identity is implemented on the Rowset and enables testing for row identity.
IRowsetInfo Provides information about a Rowset.
IRowsetLocate Fetches arbitrary rows of a Rowset.
IRowsetScroll Enables consumers to fetch rows at approximate positions in the Rowset.
ISupportErrorInfo Indicates whether a specific interface can return Automation and OLE DB error objects.

Notification Interfaces for Rowset Object

Interface Description
IDBAsynchNotify The callback interface that a consumer must support in order to be notified of the progress of asynchronous operations such as initializing a datasource, or opening or populating a Rowset.
IRowsetNotify The callback interface that a consumer must support to connect to local notifications provided by a Rowset.