Реализация IRowsetLocate

После изменения наследования RMyProviderRowset, вам нужно реализовать IRowsetLocate интерфейс. Вы можете найти определение интерфейса в Резюме интерфейс OLE DB Справочник программиста и OLEDB.H файл в документации SDK по OLE DB включают каталог.

Для реализации этого интерфейса:

  1. Создайте новый файл с именем RowLoc.h и добавьте файл в проект.

  2. В RowLoc.h, создать определения класса для IRowsetLocateImpl , полученных от IRowsetи реализуют производный класс.

  3. Скопируйте методы для интерфейса из файла заголовка OLE DB OLEDB.H RowLoc.h. Изменить коды возврата HRESULT на STDMETHOD и поставить скобки вокруг имена методов, как показано в следующем коде.

  4. Завершить осуществление (обсуждается в следующем разделе).
////////////////////////////////////////////////////////////////////////
/ / RowLoc.h
/ / класса IRowsetLocateImpl

шаблон lt; класс t >
класс ATL_NO_VTABLE IRowsetLocateImpl: государственные IRowsetImpl <T> {}
общественности:
   STDMETHOD (сравнение) (HCHAPTER hReserved, ULONG cbBookmark1, const БАЙТ * pBookmark1, ULONG cbBookmark2, const БАЙТ * pBookmark2 DBCOMPARE * pComparison)
   {
      Возвращает значение S_OK;
   }

STDMETHOD (GetRowsAt) (HWATCHREGION hReserved1, HCHAPTER hReserved2,
      ULONG cbBookmark, const БАЙТ * pBookmark, ДЛИННЫЕ lRowsOffset
      ДЛИННЫЕ вороны, ULONG * pcRowsObtained, HROW ** prghRows)
   {
      Возвращает значение S_OK;
   }

STDMETHOD (GetRowsByBookmark) (HCHAPTER hReserved, ULONG вороны,
      const ULONG rgcbBookmarks [], const БАЙТ * [rgpBookmarks],
      HROW rghRows [], DBROWSTATUS rgRowStatus[])
   {
      Возвращает значение S_OK;
   }

STDMETHOD (хеш) (HCHAPTER hReserved, ULONG cBookmarks,
      const ULONG rgcbBookmarks [], const БАЙТ * [rgpBookmarks],
      DWORD rgHashedValues [], DBROWSTATUS rgBookmarkStatus[])
   {
      ATLTRACENOTIMPL("IRowsetLocateImpl::GetRowsByBookmark");
   }
}

В следующем разделе вы увидите полностью выполнить путем добавления закладки.

Index