Partager via


Référence des modèles du fournisseur OLE DB

Les classes et interfaces des modèles de fournisseur OLE DB peuvent être regroupées dans les catégories suivantes. Le matériel de référence inclut également des informations sur les macros pour les modèles de fournisseur OLE DB.

Les classes utilisent la convention d’affectation de noms suivante : une classe nommée avec le modèle IWidgetImpl fournit une implémentation de l’interface IWidget.

Session Classes

IDBCreateSessionImpl
Crée une session à partir de l’objet source de données et retourne l’interface demandée sur la session nouvellement créée. Interface obligatoire sur les objets de source de données.

ISessionPropertiesImpl
Implémente les propriétés de session en appelant une fonction statique définie par le mappage du jeu de propriétés. Le mappage du jeu de propriétés doit être spécifié dans votre classe de session. Interface obligatoire sur les sessions.

Classes d’ensemble de lignes

CRowsetImpl

Fournit une implémentation d’ensemble de lignes OLE DB standard sans nécessiter l’héritage multiple de nombreuses interfaces d’implémentation. La seule méthode pour laquelle vous devez fournir l’implémentation est Execute.

CSimpleRow
Fournit une implémentation par défaut pour le handle de ligne, qui est utilisé dans la IRowsetImpl classe. Un handle de ligne est logiquement une balise unique pour une ligne de résultat. IRowsetImpl crée une nouvelle CSimpleRow ligne demandée dans IRowsetImpl::GetNextRows.

IAccessorImpl
OLE DB nécessite que les fournisseurs implémentent HACCESSORune balise à un tableau de DBBINDING structures. Fournit HACCESSORdes adresses des BindType structures. Obligatoire sur les ensembles de lignes et les commandes.

IColumnsInfoImpl
Délégués à une fonction statique définie par le mappage de colonnes du fournisseur. Interface obligatoire sur les ensembles de lignes et les commandes.

IConvertTypeImpl
Fournit des informations sur la disponibilité des conversions de types sur une commande ou sur un ensemble de lignes. Obligatoire sur les commandes, les ensembles de lignes et les ensembles de lignes d’index. Implémente l’interface IConvertType en déléguant l’objet de conversion fourni par OLE DB.

IDBSchemaRowsetImpl
Implémente l’interface IDBSchemaRowset et la fonction CreateSchemaRowsetde créateur templatée.

IOpenRowsetImpl
Ouvre et retourne un ensemble de lignes qui inclut toutes les lignes d’une table ou d’un index de base unique. Interface obligatoire pour un objet de session.

IRowsetChangeImpl
Implémente l’interface OLE DB IRowsetChange , qui permet la mise à jour des valeurs des colonnes dans les lignes existantes, la suppression de lignes et l’insertion de nouvelles lignes.

IRowsetCreatorImpl
Cette classe hérite de IObjectWithSite et remplace IObjectWithSite ::SetSite. IRowsetCreatorImpl effectue les mêmes fonctions que celles qui IObjectWithSite permettent également les propriétés DBPROPCANSCROLLBACKWARDS OLE DB et DBPROPCANFETCHBACKWARDS.

IRowsetIdentityImpl
Implémente l’interface IRowsetIdentity , ce qui vous permet de comparer si deux lignes de données sont identiques ou non.

IRowsetImpl
Fournit une implémentation de l’interface IRowset , qui est l’interface d’ensemble de lignes de base.

IRowsetInfoImpl
Implémente les propriétés de l’ensemble de lignes à l’aide du mappage du jeu de propriétés défini dans votre classe de commandes. Interface obligatoire sur les ensembles de lignes.

IRowsetLocateImpl
Implémente l’interface OLE DB IRowsetLocate , qui extrait des lignes arbitraires à partir d’un ensemble de lignes. Pour prendre en charge les signets OLE DB dans un ensemble de lignes, faites en sorte que l’ensemble de lignes hérite de cette classe.

IRowsetNotifyCP
Implémente des fonctions de diffusion pour conseiller les écouteurs sur le point IID_IRowsetNotify de connexion des modifications apportées au contenu de l’ensemble de lignes. Les consommateurs qui gèrent les notifications implémentent IRowsetNotify et l’inscrivent sur ce point de connexion.

IRowsetUpdateImpl
Implémente l’interface OLE DB IRowsetUpdate , qui permet aux consommateurs de retarder la transmission des modifications apportées avec IRowsetChange à la source de données et annuler les modifications avant la transmission.

Classes de commandes

ICommandImpl
Fournit une implémentation de l’interface ICommand. Cette interface n’est pas visible, mais elle est gérée par ICommandTextImpl. Interface obligatoire sur l’objet de commande.

ICommandPropertiesImpl
Cette implémentation de l’interface ICommandProperties est fournie par une fonction statique définie par la BEGIN_PROPSET_MAP macro. Obligatoire sur les commandes.

ICommandTextImpl
Définit, stocke et retourne le texte de la commande. Obligatoire sur les commandes.

IDBCreateCommandImpl
Crée une commande à partir de l’objet de session et retourne l’interface demandée sur la commande nouvellement créée. Interface facultative sur les objets de session.

D’autres classes de commandes sont IColumnsInfoImpl et IAccessorImpl, décrites dans la section Classes d’ensemble de lignes ci-dessus.

Classes de source de données

IDBInitializeImpl
Crée et supprime la connexion avec le consommateur. Interface obligatoire sur les objets de source de données et interface facultative sur les énumérateurs.

IDBPropertiesImpl
IDBProperties est une interface obligatoire pour les objets de source de données et une interface facultative pour les énumérateurs. Toutefois, si un énumérateur expose IDBInitialize, il doit exposer IDBProperties (propriétés sur la source de données).

IGetDataSourceImpl
Obtient un pointeur d’interface vers l’objet source de données. Interface obligatoire sur la session.

Autres classes

CUtlProps
Implémente des propriétés pour une variété d’interfaces de propriété OLE DB (par exemple, IDBProperties, ISessionPropertieset IRowsetInfo).

IErrorRecordsImpl

Implémente l’interface OLE DB IErrorRecords , en ajoutant des enregistrements et en récupérant des enregistrements à partir d’un membre de données.

Voir aussi

Référence des modèles du consommateur OLE DB
Modèles OLE DB