IRowsetLocate wykonawcze

Po modyfikacji dziedziczenie RMyProviderRowset, trzeba zaimplementować IRowsetLocate interfejsu. Można znaleźć definicji interfejsu w Podsumowanie interfejsu OLE DB Programmer's Reference i OLEDB.H plik OLE DB SDK zawierają katalog.

Do wykonania tego interfejsu:

  1. Utwórz nowy plik o nazwie RowLoc.h i Dodaj plik do projektu.

  2. Utwórz definicję klasy w RowLoc.h, IRowsetLocateImpl , pochodzące z IRowseti zaimplementować klasę.

  3. Skopiuj metody interfejsu z pliku nagłówkowym OLE DB OLEDB.H do RowLoc.h. Zmienić kody powrotne HRESULT na STDMETHOD i Umieść nawiasy wokół nazwy metody, jak pokazano w poniższym kodzie.

  4. Zakończenie realizacji (ujęte w następnym temacie).
////////////////////////////////////////////////////////////////////////
/ / RowLoc.h
/ / klasy IRowsetLocateImpl

lt szablonu; Klasa T >
Klasa ATL_NO_VTABLE IRowsetLocateImpl: IRowsetImpl publicznych <T> {}
publiczne:
   STDMETHOD (porównaj) (HCHAPTER hReserved, ULONG cbBookmark1, stała BAJT * pBookmark1, ULONG cbBookmark2, stała BAJT * pBookmark2, DBCOMPARE * pComparison)
   {
      Zwraca wartość S_OK;
   }

STDMETHOD (GetRowsAt) (HWATCHREGION hReserved1, HCHAPTER hReserved2,
      ULONG cbBookmark, stała BAJT * pBookmark, DŁUGO lRowsOffset,
      DŁUGIE krukami, ULONG * pcRowsObtained, HROW ** prghRows)
   {
      Zwraca wartość S_OK;
   }

STDMETHOD (GetRowsByBookmark) (HCHAPTER hReserved, ULONG krukami
      stała ULONG [] rgcbBookmarks, stała BAJT * [rgpBookmarks]
      HROW [rghRows], DBROWSTATUS rgRowStatus[])
   {
      Zwraca wartość S_OK;
   }

STDMETHOD (Hash) (HCHAPTER hReserved, ULONG cBookmarks,
      stała ULONG [] rgcbBookmarks, stała BAJT * [rgpBookmarks]
      DWORD rgHashedValues [] DBROWSTATUS rgBookmarkStatus[])
   {
      ATLTRACENOTIMPL("IRowsetLocateImpl::GetRowsByBookmark");
   }
}

W następnym temacie, zobaczysz zakończyć realizację przez dodanie zakładek.

Index