Здійснення IRowsetLocate

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

Для реалізації цього інтерфейсу:

  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, константа БАЙТ * pBookmark1, ULONG cbBookmark2, константа БАЙТ * pBookmark2, DBCOMPARE * pComparison)
   {
      повернення S_OK;
   }

STDMETHOD (GetRowsAt) (HWATCHREGION hReserved1, HCHAPTER hReserved2,
      ULONG cbBookmark, константа БАЙТ * pBookmark, ДОВГИХ lRowsOffset,
      ДОВГИЙ Ворон, ULONG * pcRowsObtained, HROW ** prghRows)
   {
      повернення S_OK;
   }

STDMETHOD (GetRowsByBookmark) (HCHAPTER hReserved, ULONG Ворон,
      константа ULONG rgcbBookmarks [], константа БАЙТ * [rgpBookmarks],
      [HROW rghRows], DBROWSTATUS rgRowStatus[])
   {
      повернення S_OK;
   }

STDMETHOD (хеша) (HCHAPTER hReserved, ULONG cBookmarks,
      константа ULONG rgcbBookmarks [], константа БАЙТ * [rgpBookmarks],
      RgHashedValues DWORD [], DBROWSTATUS rgBookmarkStatus[])
   {
      ATLTRACENOTIMPL("IRowsetLocateImpl::GetRowsByBookmark");
   }
}

У наступного тему, ви побачите те, як завершити виконання шляхом додавання закладки.

Index