Después de modificar la herencia de RMyProviderRowset, necesita implementar la IRowsetLocate interfaz. Puede encontrar la definición de interfaz en el Resumen de interfaz del Programador de OLE DB de referencia y en el OLEDB.H archivo en el SDK de OLE DB incluye directorio.
Para implementar esta interfaz:
IRowsetLocateImpl , derivado de IRowsete implementar la clase.////////////////////////////////////////////////////////////////////////
/ / RowLoc.h
/ / clase IRowsetLocateImpl
plantilla lt; clase t >
clase ATL_NO_VTABLE IRowsetLocateImpl: IRowsetImpl public <T> {}
público:
STDMETHOD (Comparar) (HCHAPTER hReserved, cbBookmark1 ULONG, const BYTE * pBookmark1, ULONG cbBookmark2, BYTE const * pBookmark2, DBCOMPARE * pComparison)
{
Devuelve S_OK;
}
STDMETHOD (GetRowsAt) (HWATCHREGION hReserved1, HCHAPTER hReserved2,
ULONG cbBookmark, BYTE const * pBookmark, lRowsOffset largo,
Cuervos LONG, ULONG * pcRowsObtained, HROW ** prghRows)
{
Devuelve S_OK;
}
STDMETHOD (GetRowsByBookmark) (HCHAPTER hReserved, cuervos ULONG,
const ULONG rgcbBookmarks [], const BYTE * rgpBookmarks [],
HROW [rghRows], DBROWSTATUS rgRowStatus[])
{
Devuelve S_OK;
}
STDMETHOD (Hash) (HCHAPTER hReserved, cBookmarks ULONG,
const ULONG rgcbBookmarks [], const BYTE * rgpBookmarks [],
DWORD rgHashedValues [], DBROWSTATUS rgBookmarkStatus[])
{
ATLTRACENOTIMPL("IRowsetLocateImpl::GetRowsByBookmark");
}
}
En el siguiente tema, verá cómo completar la aplicación mediante la adición de marcadores.