Compartir a través de


Referencia de plantillas de proveedores OLE DB

Las clases e interfaces de las plantillas de proveedores OLE DB se pueden agrupar en las siguientes categorías. El material de referencia también incluye información sobre las macros de las plantillas de proveedores OLE DB.

Las clases usan la siguiente convención de nomenclatura: una clase con nombre con el patrón IWidgetImpl proporcionaría una implementación de la interfaz IWidget.

Clases de sesión

IDBCreateSessionImpl
Crea una nueva sesión a partir del objeto de origen de datos y devuelve la interfaz solicitada en la sesión recién creada. Interfaz obligatoria en objetos de origen de datos.

ISessionPropertiesImpl
Implementa las propiedades de sesión mediante una llamada a una función estática definida por la asignación del conjunto de propiedades. La asignación del conjunto de propiedades debe especificarse en la clase de sesión. Interfaz obligatoria en las sesiones.

Clases de conjunto de fila

CRowsetImpl

Proporciona una implementación estándar del conjunto de filas OLE DB sin necesidad de herencia múltiple de muchas interfaces de implementación. El único método para el que debe proporcionar la implementación es Execute.

CSimpleRow
Proporciona una implementación predeterminada para el identificador de fila, que se usa en la clase IRowsetImpl. Un identificador de fila es lógicamente una etiqueta única para una fila de resultados. IRowsetImpl crea un nuevo CSimpleRow para cada fila solicitada en IRowsetImpl::GetNextRows.

IAccessorImpl
OLE DB requiere que los proveedores implementen un HACCESSOR, que es una etiqueta en una matriz de estructuras DBBINDING. Proporciona HACCESSOR que son direcciones de las estructuras BindType. Obligatorio en conjuntos de filas y comandos.

IColumnsInfoImpl
Delega en una función estática definida por la asignación de columnas del proveedor. Interfaz obligatoria en conjuntos de filas y comandos.

IConvertTypeImpl
Proporciona información sobre la disponibilidad de conversiones de tipos en un comando o en un conjunto de filas. Obligatorio en comandos, conjuntos de filas y conjuntos de filas de índice. Implementa la interfaz IConvertType delegando al objeto de conversión proporcionado por OLE DB.

IDBSchemaRowsetImpl
Implementa la interfaz IDBSchemaRowset y la función de creación con plantillas CreateSchemaRowset.

IOpenRowsetImpl
Se abre y devuelve un conjunto de filas que incluye todas las filas de un índice o tabla base única. Interfaz obligatoria para un objeto de sesión.

IRowsetChangeImpl
Implementa la interfaz IRowsetChange de OLE DB, que permite actualizar valores de columnas en filas existentes, eliminar filas e insertar nuevas filas.

IRowsetCreatorImpl
Esta clase hereda de IObjectWithSite y reemplaza a IObjectWithSite::SetSite. IRowsetCreatorImpl realiza las mismas funciones que IObjectWithSite, pero también habilita las propiedades DBPROPCANSCROLLBACKWARDS y DBPROPCANFETCHBACKWARDS de OLE DB.

IRowsetIdentityImpl
Implementa la interfaz IRowsetIdentity, que permite comparar si dos filas de datos son idénticas o no.

IRowsetImpl
Proporciona una implementación de la interfaz IRowset, que es la interfaz del conjunto de filas base.

IRowsetInfoImpl
Implementa las propiedades del conjunto de filas mediante la asignación del conjunto de propiedades definido en la clase de comando. Interfaz obligatoria en conjuntos de filas.

IRowsetLocateImpl
Implementa la interfaz IRowsetLocate de OLE DB, que captura filas arbitrarias de un conjunto de filas. Para admitir marcadores OLE DB en un conjunto de filas, haga que el conjunto de filas herede de esta clase.

IRowsetNotifyCP
Implementa funciones de difusión para asesorar a los agentes de escucha en el punto de conexión IID_IRowsetNotify de los cambios en el contenido del conjunto de filas. Los consumidores que controlan las notificaciones implementan IRowsetNotify y lo registran en ese punto de conexión.

IRowsetUpdateImpl
Implementa la interfaz IRowsetUpdate de OLE DB, que permite a los consumidores retrasar la transmisión de los cambios realizados con IRowsetChange al origen de datos y deshacer los cambios antes de la transmisión.

Clases de comando

ICommandImpl
Proporciona una implementación de la interfaz ICommand. Esta interfaz no es visible, pero se controla mediante ICommandTextImpl. Interfaz obligatoria en el objeto de comando.

ICommandPropertiesImpl
Esta implementación de la interfaz ICommandProperties la proporciona una función estática definida por la macro BEGIN_PROPSET_MAP. Obligatorio en los comandos.

ICommandTextImpl
Establece, almacena y devuelve el texto del comando. Obligatorio en los comandos.

IDBCreateCommandImpl
Crea un nuevo comando a partir del objeto de sesión y devuelve la interfaz solicitada en el comando recién creado. Interfaz opcional en objetos de sesión.

Otras clases de comandos son IColumnsInfoImpl y IAccessorImpl, que se describen en la sección Clases de conjunto de filas anterior.

Clases de origen de datos

IDBInitializeImpl
Crea y elimina la conexión con el consumidor. Interfaz obligatoria en objetos de origen de datos e interfaz opcional en enumeradores.

IDBPropertiesImpl
IDBProperties es una interfaz obligatoria para los objetos de origen de datos y una interfaz opcional para los enumeradores. Sin embargo, si un enumerador expone IDBInitialize, debe exponer IDBProperties (propiedades en el origen de datos).

IGetDataSourceImpl
Obtiene un puntero de interfaz al objeto de origen de datos. Interfaz obligatoria en la sesión.

Otras clases

CUtlProps
Implementa propiedades para una variedad de interfaces de propiedad OLE DB (por ejemplo, IDBProperties, ISessionProperties y IRowsetInfo).

IErrorRecordsImpl

Implementa la interfaz IErrorRecords de OLE DB, agregando registros a un miembro de datos y recuperando registros de él.

Consulte también

Referencia de plantillas de consumidor OLE DB
Plantillas OLE DB