Dopo la Modifica dell'ereditarietà di RMyProviderRowset, è necessario implementare il IRowsetLocate interfaccia. Si può trovare la definizione dell'interfaccia nei Interfaccia Sommario di OLE DB Programmer di riferimento e l'OLE DB.File h in SDK OLE DB includere directory.
Per implementare questa interfaccia:
IRowsetLocateImpl , derivato da IRowsete implementare la classe.////////////////////////////////////////////////////////////////////////
/ / RowLoc.h
/ / classe IRowsetLocateImpl
modello lt; classe t >
classe IRowsetLocateImpl ATL_NO_VTABLE: public IRowsetImpl <T> {
pubblica:
STDMETHOD (confrontare) (HCHAPTER hReserved, ULONG cbBookmark1, const BYTE * pBookmark1, ULONG cbBookmark2, const BYTE * pBookmark2, DBCOMPARE * pComparison)
{
restituisce S_OK;
}
STDMETHOD (GetRowsAt) (HWATCHREGION hReserved1, HCHAPTER hReserved2,
ULONG cbBookmark, const BYTE * pBookmark, lungo lRowsOffset,
LUNGHE corvi, ULONG * pcRowsObtained, HROW ** prghRows sul)
{
restituisce S_OK;
}
STDMETHOD (GetRowsByBookmark) (HCHAPTER hReserved, corvi ULONG,
const ULONG [rgcbBookmarks], const BYTE * rgpBookmarks [],
HROW rghRows [], DBROWSTATUS rgRowStatus[])
{
restituisce S_OK;
}
STDMETHOD (Hash) (HCHAPTER hReserved, ULONG cBookmarks,
const ULONG [rgcbBookmarks], const BYTE * rgpBookmarks [],
DWORD rgHashedValues [], DBROWSTATUS rgBookmarkStatus[])
{
ATLTRACENOTIMPL("IRowsetLocateImpl::GetRowsByBookmark");
}
}
Nell'argomento successivo, vedrà come completare l'implementazione con l'aggiunta di segnalibri.