Freigeben über


Referenz der OLE DB-Anbietervorlagen

Die Klassen und Schnittstellen für die OLE DB-Anbietervorlagen können in die folgenden Kategorien gruppiert werden. Das Referenzmaterial enthält auch Informationen zu den Makros für OLE DB-Anbietervorlagen.

Die Klassen verwenden die folgende Benennungskonvention: Eine Klasse mit dem Muster IWidgetImpl würde eine Implementierung der Schnittstelle IWidgetbereitstellen.

Sitzungsklassen

IDBCreateSessionImpl
Erstellt eine neue Sitzung aus dem Datenquellenobjekt und gibt die angeforderte Schnittstelle in der neu erstellten Sitzung zurück. Obligatorische Schnittstelle für Datenquellenobjekte.

ISessionPropertiesImpl
Implementiert Sitzungseigenschaften durch Aufrufen einer statischen Funktion, die durch die Eigenschaftensatzzuordnung definiert wird. Die Eigenschaftensatzzuordnung sollte in Ihrer Sitzungsklasse angegeben werden. Obligatorische Schnittstelle für Sitzungen.

Rowset-Klassen

Crowsetimpl

Stellt eine standardmäßige OLE DB-Rowsetimplementierung bereit, ohne dass mehrere Vererbungen vieler Implementierungsschnittstellen erforderlich sind. Die einzige Methode, für die Sie die Implementierung bereitstellen müssen, ist Execute.

CSimpleRow
Stellt eine Standardimplementierung für das Zeilenhandle bereit, das in der IRowsetImpl Klasse verwendet wird. Ein Zeilenhandle ist logisch ein eindeutiges Tag für eine Ergebniszeile. IRowsetImpl erstellt eine neue CSimpleRow für jede Zeile, die in IRowsetImpl::GetNextRows.

IAccessorImpl
OLE DB erfordert, dass Anbieter ein HACCESSORTag für ein Array von DBBINDING Strukturen implementieren. Stellt HACCESSORAdressen der BindType Strukturen bereit. Obligatorisch für Rowsets und Befehle.

IColumnsInfoImpl
Delegiert an eine statische Funktion, die von der Anbieterspaltenzuordnung definiert wird. Obligatorische Schnittstelle für Rowsets und Befehle.

IConvertTypeImpl
Gibt Informationen zur Verfügbarkeit von Typkonvertierungen in einem Befehl oder in einem Rowset. Obligatorisch für Befehle, Rowsets und Index-Rowsets. Implementiert die IConvertType Schnittstelle durch Delegieren an das konvertierungsobjekt, das von OLE DB bereitgestellt wird.

IDBSchemaRowsetImpl
Implementiert die IDBSchemaRowset Schnittstelle und die vorlagenbasierte Erstellerfunktion CreateSchemaRowset.

IOpenRowsetImpl
Öffnet und gibt ein Rowset zurück, das alle Zeilen aus einer einzelnen Basistabelle oder einem einzelnen Index enthält. Obligatorische Schnittstelle für ein Sitzungsobjekt.

Irowsetchangeimpl
Implementiert die OLE DB IRowsetChange-Schnittstelle , die das Aktualisieren der Werte von Spalten in vorhandenen Zeilen, das Löschen von Zeilen und das Einfügen neuer Zeilen ermöglicht.

IRowsetCreatorImpl
Diese Klasse erbt von IObjectWithSite und überschreibt IObjectWithSite::SetSite. IRowsetCreatorImpl führt dieselben Funktionen wie IObjectWithSite die OLE DB-Eigenschaften und -Eigenschaften DBPROPCANSCROLLBACKWARDS aus DBPROPCANFETCHBACKWARDS.

IRowsetIdentityImpl
Implementiert die Schnittstelle, mit der IRowsetIdentity Sie vergleichen können, ob zwei Datenzeilen identisch sind oder nicht.

IRowsetImpl
Stellt eine Implementierung der Schnittstelle bereit, bei der IRowset es sich um die Basiszeilenschnittstelle handelt.

IRowsetInfoImpl
Implementiert die Rowset-Eigenschaften mithilfe der in Ihrer Befehlsklasse definierten Eigenschaftensatzzuordnung. Obligatorische Schnittstelle für Rowsets.

Irowsetlocateimpl
Implementiert die OLE DB IRowsetLocate-Schnittstelle , die beliebige Zeilen aus einem Rowset abruft. Um OLE DB-Lesezeichen in einem Rowset zu unterstützen, erben Sie das Rowset von dieser Klasse.

Irowsetnotifycp
Implementiert Übertragungsfunktionen, um Listener über den Verbindungspunkt IID_IRowsetNotify von Änderungen am Inhalt des Rowsets zu beraten. Verbraucher, die Benachrichtigungen verarbeiten, implementieren IRowsetNotify und registrieren sie auf diesem Verbindungspunkt.

Irowsetupdateimpl
Implementiert die OLE DB IRowsetUpdate-Schnittstelle , die es Verbrauchern ermöglicht, die Übertragung von Änderungen, die mit IRowsetChange an die Datenquelle vorgenommen wurden, zu verzögern und Änderungen vor der Übertragung rückgängig zu machen.

Befehlsklassen

ICommandImpl
Stellt eine Implementierung der ICommand-Schnittstelle bereit. Diese Schnittstelle ist nicht sichtbar, wird jedoch von ICommandTextImpl. Eine obligatorische Schnittstelle für das Befehlsobjekt.

ICommandPropertiesImpl
Diese Implementierung der ICommandProperties Schnittstelle wird von einer statischen Funktion bereitgestellt, die BEGIN_PROPSET_MAP vom Makro definiert wird. Obligatorisch für Befehle.

ICommandTextImpl
Legt fest, speichert und gibt den Befehlstext zurück. Obligatorisch für Befehle.

IDBCreateCommandImpl
Erstellt einen neuen Befehl aus dem Sitzungsobjekt und gibt die angeforderte Schnittstelle für den neu erstellten Befehl zurück. Optionale Schnittstelle für Sitzungsobjekte.

Weitere Befehlsklassen sind IColumnsInfoImpl und IAccessorImplwerden im Abschnitt "Rowset Classes" weiter oben beschrieben.

Datenquellenklassen

IDBInitializeImpl
Erstellt und löscht die Verbindung mit dem Consumer. Obligatorische Schnittstelle für Datenquellenobjekte und optionale Schnittstelle für Enumeratoren.

IDBPropertiesImpl
IDBProperties ist eine obligatorische Schnittstelle für Datenquellenobjekte und eine optionale Schnittstelle für Enumerationen. Wenn ein Enumerator jedoch verfügbar macht IDBInitialize, muss er verfügbar gemacht IDBProperties werden (Eigenschaften für die Datenquelle).

IGetDataSourceImpl
Ruft einen Schnittstellenzeiger auf das Datenquellenobjekt ab. Obligatorische Schnittstelle für die Sitzung.

Andere Klassen

CUtlProps
Implementiert Eigenschaften für eine Vielzahl von OLE DB-Eigenschaftsschnittstellen (z IDBProperties. B. , , ISessionPropertiesund IRowsetInfo).

IErrorRecordsImpl

Implementiert die OLE DB IErrorRecords-Schnittstelle , das Hinzufügen und Abrufen von Datensätzen aus einem Datenelement.

Siehe auch

Referenz der OLE DB-Consumervorlagen
OLE DB-Vorlagen