Ссылка на шаблоны поставщика OLE DB

Классы и интерфейсы для шаблонов поставщиков OLE DB можно сгруппировать в следующие категории. Справочные материалы также содержат сведения о макросах для шаблонов поставщиков OLE DB.

Классы используют следующее соглашение об именовании: класс с именем шаблона IWidgetImpl обеспечивает реализацию интерфейса IWidget.

Классы сеансов

IDBCreateSessionImpl
Создает новый сеанс из объекта источника данных и возвращает запрошенный интерфейс в созданном сеансе. Обязательный интерфейс для объектов источника данных.

ISessionPropertiesImpl
Реализует свойства сеанса путем вызова статической функции, определенной картой набора свойств. Сопоставление набора свойств должно быть указано в классе сеанса. Обязательный интерфейс для сеансов.

Классы набора строк

CRowsetImpl

Предоставляет стандартную реализацию набора строк OLE DB, не требуя много наследования многих интерфейсов реализации. Единственный метод, для которого необходимо предоставить реализацию Execute.

CSimpleRow
Предоставляет реализацию по умолчанию для дескриптора IRowsetImpl строк, который используется в классе. Дескриптор строки логически является уникальным тегом для результирующих строк. IRowsetImpl создает новую CSimpleRow для каждой строки, запрошенной в IRowsetImpl::GetNextRows.

IAccessorImpl
OLE DB требует, чтобы поставщики реализовали HACCESSORтег для массива DBBINDING структур. Предоставляет HACCESSORадреса BindType структур. Обязательный для наборов строк и команд.

IColumnsInfoImpl
Делегирует статическую функцию, определенную картой столбцов поставщика. Обязательный интерфейс для наборов строк и команд.

IConvertTypeImpl
Предоставляет сведения о доступности преобразований типов в команде или наборе строк. Обязательный для команд, наборов строк и наборов строк индекса. IConvertType Реализует интерфейс, делегируя объект преобразования, предоставленный OLE DB.

IDBSchemaRowsetImpl
IDBSchemaRowset Реализует интерфейс и шаблонную функцию CreateSchemaRowsetсоздателя.

IOpenRowsetImpl
Открывает и возвращает набор строк, включающий все строки из одной базовой таблицы или индекса. Обязательный интерфейс для объекта сеанса.

IRowsetChangeImpl
Реализует интерфейс OLE DB IRowsetChange , который позволяет обновлять значения столбцов в существующих строках, удалять строки и вставлять новые строки.

IRowsetCreatorImpl
Этот класс наследует от IObjectWithSite и переопределяет IObjectWithSite::SetSite. IRowsetCreatorImpl выполняет те же функции, что IObjectWithSite и включает свойства DBPROPCANSCROLLBACKWARDS OLE DB и DBPROPCANFETCHBACKWARDS.

IRowsetIdentityImpl
IRowsetIdentity Реализует интерфейс, который позволяет сравнить, совпадают ли две строки данных.

IRowsetImpl
Предоставляет реализацию IRowset интерфейса, который является базовым интерфейсом набора строк.

IRowsetInfoImpl
Реализует свойства набора строк с помощью карты набора свойств, определенной в классе команд. Обязательный интерфейс для наборов строк.

IRowsetLocateImpl
Реализует интерфейс OLE DB IRowsetLocate , который извлекает произвольные строки из набора строк. Чтобы поддерживать закладки OLE DB в наборе строк, сделайте набор строк наследуемым от этого класса.

IRowsetNotifyCP
Реализует широковещательные функции, чтобы советовать прослушивателям точку IID_IRowsetNotify подключения изменений содержимого набора строк. Потребители, обрабатывающие уведомления, реализуют IRowsetNotify и регистрируют его в этой точке подключения.

IRowsetUpdateImpl
Реализует интерфейс OLE DB IRowsetUpdate , который позволяет потребителям отложить передачу изменений, внесенных с помощью IRowsetChange , в источник данных и отменить изменения перед передачей.

Классы команд

ICommandImpl
Предоставляет реализацию интерфейса ICommand. Этот интерфейс не отображается, но обрабатывается ICommandTextImpl. Обязательный интерфейс для объекта команды.

ICommandPropertiesImpl
Эта реализация ICommandProperties интерфейса предоставляется статической функцией, определенной макросом BEGIN_PROPSET_MAP . Обязательный для команд.

ICommandTextImpl
Задает, сохраняет и возвращает текст команды. Обязательный для команд.

IDBCreateCommandImpl
Создает новую команду из объекта сеанса и возвращает запрошенный интерфейс в созданной команде. Необязательный интерфейс для объектов сеанса.

Другие классы команд описаны IColumnsInfoImpl IAccessorImplв разделе "Классы набора строк" выше.

Классы источников данных

IDBInitializeImpl
Создает и удаляет соединение с потребителем. Обязательный интерфейс для объектов источника данных и необязательный интерфейс для перечислителей.

IDBPropertiesImpl
IDBProperties является обязательным интерфейсом для объектов источника данных и необязательным интерфейсом для перечислителей. Однако если перечислитель предоставляет IDBInitialize, он должен предоставлять IDBProperties (свойства в источнике данных).

IGetDataSourceImpl
Получает указатель интерфейса на объект источника данных. Обязательный интерфейс сеанса.

Другие классы

CUtlProps
Реализует свойства для различных интерфейсов свойств OLE DB (например, IDBProperties, ISessionPropertiesи IRowsetInfo).

IErrorRecordsImpl

Реализует интерфейс OLE DB IErrorRecords , добавляя записи в элементы данных и извлекая записи из него.

См. также

Ссылка на шаблоны объекта-получателя OLE DB
Шаблоны OLE DB