Szablony dostawców OLE DB — kompendium
Klasy i interfejsy szablonów dostawcy OLE DB można pogrupować w następujące kategorie. Materiał referencyjny zawiera również informacje o makrach szablonów dostawców OLE DB.
Klasy używają następującej konwencji nazewnictwa: klasa o nazwie ze wzorcem IWidgetImpl
zapewnia implementację interfejsu IWidget
.
Klasy sesji
IDBCreateSessionImpl
Tworzy nową sesję z obiektu źródła danych i zwraca żądany interfejs w nowo utworzonej sesji. Obowiązkowy interfejs w obiektach źródła danych.
ISessionPropertiesImpl
Implementuje właściwości sesji przez wywołanie funkcji statycznej zdefiniowanej przez mapę zestawu właściwości. Mapa zestawu właściwości powinna być określona w klasie sesji. Obowiązkowy interfejs w sesjach.
Klasy zestawu wierszy
Zapewnia standardową implementację zestawu wierszy OLE DB bez konieczności dziedziczenia wielu interfejsów implementacji. Jedyną metodą, dla której należy podać implementację, jest Execute
.
CSimpleRow
Udostępnia domyślną implementację dojścia wiersza, która jest używana w IRowsetImpl
klasie . Uchwyt wiersza jest logicznie unikatowym tagiem dla wiersza wyników. IRowsetImpl
Tworzy nowy CSimpleRow
dla każdego wiersza żądanego w pliku IRowsetImpl::GetNextRows
.
IAccessorImpl
Ole DB wymaga od dostawców zaimplementowania tagu HACCESSOR
, który jest tagiem w tablicy DBBINDING
struktur. Zawiera HACCESSOR
adresy BindType
struktur. Obowiązkowe w zestawach wierszy i poleceniach.
IColumnsInfoImpl
Delegowanie do funkcji statycznej zdefiniowanej przez mapę kolumn dostawcy. Obowiązkowy interfejs w zestawach wierszy i poleceniach.
IConvertTypeImpl
Zawiera informacje na temat dostępności konwersji typów w poleceniu lub w zestawie wierszy. Obowiązkowe w poleceniach, zestawach wierszy i zestawach wierszy indeksu. Implementuje interfejs przez delegowanie IConvertType
do obiektu konwersji dostarczonego przez OLE DB.
IDBSchemaRowsetImpl
Implementuje IDBSchemaRowset
interfejs i funkcję CreateSchemaRowset
templatized creator .
IOpenRowsetImpl
Otwiera i zwraca zestaw wierszy zawierający wszystkie wiersze z pojedynczej podstawowej tabeli lub indeksu. Obowiązkowy interfejs dla obiektu sesji.
IRowsetChangeImpl
Implementuje interfejs IRowsetChange OLE DB, który umożliwia aktualizowanie wartości kolumn w istniejących wierszach, usuwanie wierszy i wstawianie nowych wierszy.
IRowsetCreatorImpl
Ta klasa dziedziczy z obiektu IObjectWithSite i zastępuje obiekt IObjectWithSite::SetSite. IRowsetCreatorImpl
Wykonuje te same funkcje co IObjectWithSite
, ale także włącza właściwości DBPROPCANSCROLLBACKWARDS
OLE DB i DBPROPCANFETCHBACKWARDS
.
IRowsetIdentityImpl
Implementuje IRowsetIdentity
interfejs, który pozwala porównać, czy dwa wiersze danych są identyczne, czy nie.
IRowsetImpl
Zapewnia implementację interfejsu IRowset
, który jest podstawowym interfejsem zestawu wierszy.
IRowsetInfoImpl
Implementuje właściwości zestawu wierszy przy użyciu mapy zestawu właściwości zdefiniowanej w klasie poleceń. Obowiązkowy interfejs w zestawach wierszy.
IRowsetLocateImpl
Implementuje interfejs IRowsetLocate OLE DB, który pobiera dowolne wiersze z zestawu wierszy. Aby obsługiwać zakładki OLE DB w zestawie wierszy, ustaw zestaw wierszy dziedziczyć z tej klasy.
IRowsetNotifyCP
Implementuje funkcje emisji, aby doradzać odbiornikom w punkcie IID_IRowsetNotify
połączenia zmian w zawartości zestawu wierszy. Konsumenci, którzy obsługują powiadomienia implementują IRowsetNotify i rejestrują je w tym punkcie połączenia.
IRowsetUpdateImpl
Implementuje interfejs IRowsetUpdate OLE DB, który umożliwia konsumentom opóźnienie transmisji zmian wprowadzonych za pomocą funkcji IRowsetChange do źródła danych i cofanie zmian przed przesłaniem.
Klasy poleceń
ICommandImpl
Zapewnia implementację interfejsu ICommand
. Ten interfejs nie jest widoczny, ale jest obsługiwany przez ICommandTextImpl
program . Obowiązkowy interfejs w obiekcie polecenia.
ICommandPropertiesImpl
Ta implementacja interfejsu ICommandProperties
jest dostarczana przez funkcję statyczną zdefiniowaną przez BEGIN_PROPSET_MAP
makro. Obowiązkowe w poleceniach.
ICommandTextImpl
Ustawia, przechowuje i zwraca tekst polecenia. Obowiązkowe w poleceniach.
IDBCreateCommandImpl
Tworzy nowe polecenie z obiektu sesji i zwraca żądany interfejs w nowo utworzonym poleceniu. Opcjonalny interfejs w obiektach sesji.
Inne klasy poleceń to IColumnsInfoImpl
i IAccessorImpl
, opisane w sekcji Klasy zestawu wierszy powyżej.
Klasy źródeł danych
IDBInitializeImpl
Tworzy i usuwa połączenie z użytkownikiem. Obowiązkowy interfejs w obiektach źródła danych i opcjonalny interfejs w modułach wyliczania.
IDBPropertiesImpl
IDBProperties
jest obowiązkowym interfejsem dla obiektów źródła danych i opcjonalnym interfejsem dla modułów wyliczania. Jeśli jednak moduł wyliczający uwidacznia IDBInitialize
element , musi uwidocznić IDBProperties
(właściwości w źródle danych).
IGetDataSourceImpl
Uzyskuje wskaźnik interfejsu do obiektu źródła danych. Obowiązkowy interfejs w sesji.
Inne klasy
CUtlProps
Implementuje właściwości dla różnych interfejsów właściwości OLE DB (na przykład IDBProperties
, , ISessionProperties
i IRowsetInfo
).
Implementuje interfejs IErrorRecords OLE DB, dodając rekordy do i pobierając rekordy z elementu członkowskiego danych.