Référence des modèles de fournisseur OLE DB
Les classes et les interfaces des modèles de fournisseur OLE DB peuvent être regroupées selon les catégories suivantes. Les documents de référence contiennent également des informations sur les macros pour les modèles de fournisseur OLE DB.
Les classes utilisent la convention de dénomination suivante : une classe nommée avec le modèle IWidgetImpl fournirait une implémentation de l'interface IWidget.
Classes de Session
IDBCreateSessionImpl
Crée une nouvelle session à partir de l'objet source de données et retourne l'interface demandée sur la session nouvellement créée. Interface forcée sur des objets de source de données.ISessionPropertiesImpl
Cette classe implémente les propriétés de session en appelant une fonction statique définie par le mappage de propriété. Le mappage de propriété doit être spécifié dans votre classe session. Interface obligatoire sur les sessions.
Classes d'ensemble de lignes
Fournit une implémentation standard de l'ensemble de lignes OLE DB sans 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 du gestionnaire de ligne, utilisée dans la classe IRowsetImpl. Un gestionnaire de ligne est logiquement une balise unique d'une ligne de sortie. IRowsetImpl crée un nouveau CSimpleRow pour chaque ligne demandée dans IRowsetImpl::GetNextRows.IAccessorImpl
OLE DB requiert que les fournisseurs implémentent HACCESSOR, qui est une balise vers un tableau de structures DBBINDING. Fournit des HACCESSOR qui sont des adresses des structures de BindType. Obligatoire sur les ensembles de lignes et des commandes.IColumnsInfoImpl
Délègue à une fonction statique définie par le mappage de colonnes du fournisseur. Interface forcée sur les ensembles de lignes et les commandes.IConvertTypeImpl
Fournit des informations sur la disponibilité des conversions de type dans une commande ou sur un ensemble de lignes. Forcé sur les commandes, les ensembles de lignes, et les ensembles de lignes d'index. Implémente l'interface IConvertTypeImpl en déléguant à l'objet de conversion fourni par OLE DB.IDBSchemaRowsetImpl
Implémente l'interface IDBSchemaRowset et la fonction mise en modèle de créateur CreateSchemaRowset.IOpenRowsetImpl
Ouvre et renvoie un ensemble de lignes qui inclut toutes les lignes d'une table de base ou d'index. Interface forcée pour un objet session.IRowsetChangeImpl
Implémente l'interface OLE DB IRowsetChange, qui permet de mettre à jour les valeurs des colonnes dans les lignes existantes, supprimer des lignes, puis insérer de nouvelles lignes.IRowsetCreatorImpl
Cette classe hérite de IObjectWithSite et remplace IObjectWithSite::SetSite. IRowsetCreatorImpl remplit les mêmes fonctions que IObjectWithSite mais possède également les propriétés OLE DB DBPROPCANSCROLLBACKWARDS et DBPROPCANFETCHBACKWARDS.IRowsetIdentityImpl
Implémente l'interface IRowsetIdentity, 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 de base des ensembles de lignes.IRowsetInfoImpl
Implémente les propriétés d'ensemble de lignes à l'aide de mappage de propriété définie dans votre classe de commande. Interface forcée sur les ensembles de lignes.IRowsetLocateImpl
Implémente l'interface OLE DB IRowsetLocate, pour extraire des lignes aléatoires 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 informer les écouteurs sur le point de connexion IID_IRowsetNotify des modifications apportées au contenu de l'ensemble de lignes. Les consommateurs qui traite les notifications implémentent IRowsetNotify et l'enregistrent 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 pour annuler les modifications avant transmission.
Classes de Commande
ICommandImpl
Fournit une implémentation de l'interface ICommand. Cette interface n'est pas visible, mais 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 macro BEGIN_PROPSET_MAP. Obligatoire sur les commandes.ICommandTextImpl
Initialise, stocke, et retourne le texte de la commande. Obligatoire sur les commandes.IDBCreateCommandImpl
Crée une nouvelle commande de l'objet session et retourne l'interface demandée sur la commande nouvellement créée. Interface facultative sur des objets session.
D'autres classes de commande sont IColumnsInfoImpl et IAccessorImpl, décrites dans la section de classes ci-dessus.
Les classes de sources de données
IDBInitializeImpl
Crée et supprime la connexion avec le consommateur. Interface forcée sur les objets sources de données et interface facultative sur les énumérateurs.IDBPropertiesImpl
IDBProperties est une interface obligatoire pour les objets sources de données et une interface facultative pour les énumérateurs. Toutefois, si un énumérateur expose IDBInitialize, il doit exposer IDBProperties (définie sur la source de données).IGetDataSourceImpl
Obtient un pointeur d'interface sur l'objet source de données. Interface forcée sur la session.
D'autres classes
- CUtlProps
Implémente les propriétés d'une série d'interfaces de propriétés OLE DB (par exemple, IDBProperties, ISessionProperties, et IRowsetInfo).
Implémente l'interface OLE DB IErrorRecords, en ajoutant des enregistrements et l'extraction des enregistrements d'un membre de données.
Voir aussi
Concepts
Référence des modèles du consommateur OLE DB