Partager via


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

CRowsetImpl

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).

IErrorRecordsImpl

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

Autres ressources

modèles OLE DB