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:
IRowsetLocateImpl , pochodzące z IRowseti zaimplementować klasę.////////////////////////////////////////////////////////////////////////
/ / 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.