Ссылка на шаблоны поставщика OLE DB
Классы и интерфейсы для шаблонов поставщиков OLE DB можно сгруппировать в следующие категории. Справочные материалы также содержат сведения о макросах для шаблонов поставщиков OLE DB.
Классы используют следующее соглашение об именовании: класс с именем шаблона IWidgetImpl
обеспечивает реализацию интерфейса IWidget
.
Классы сеансов
IDBCreateSessionImpl
Создает новый сеанс из объекта источника данных и возвращает запрошенный интерфейс в созданном сеансе. Обязательный интерфейс для объектов источника данных.
ISessionPropertiesImpl
Реализует свойства сеанса путем вызова статической функции, определенной картой набора свойств. Сопоставление набора свойств должно быть указано в классе сеанса. Обязательный интерфейс для сеансов.
Классы набора строк
Предоставляет стандартную реализацию набора строк 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
).
Реализует интерфейс OLE DB IErrorRecords , добавляя записи в элементы данных и извлекая записи из него.