Après la modification de l'héritage de RMyProviderRowset, vous devez implémenter la IRowsetLocate interface. Vous pouvez trouver la définition d'interface dans le Résumé de l'Interface de la référence du programmeur OLE DB d'et dans l'OLEDB.Fichier de h dans le SDK OLE DB inclure le répertoire.
Pour implémenter cette interface:
IRowsetLocateImpl , dérivé de IRowsetet mettre en œuvre la classe.////////////////////////////////////////////////////////////////////////
/ / RowLoc.h
/ / classe IRowsetLocateImpl
modèle lt ; classe t >
classe IRowsetLocateImpl ATL_NO_VTABLE : IRowsetImpl public <T> {
public :
STDMETHOD (comparer) (HCHAPTER hReserved, ULONG cbBookmark1, const BYTE * pBookmark1, ULONG cbBookmark2, const BYTE * pBookmark2, DBCOMPARE * pComparison)
{
return S_OK ;
}
STDMETHOD (GetRowsAt) (HWATCHREGION hReserved1, HCHAPTER hReserved2,
ULONG cbBookmark, const BYTE * pBookmark, lRowsOffset LONG,
Corneilles longs, ULONG * pcRowsObtained, HROW ** prghRows)
{
return S_OK ;
}
STDMETHOD (GetRowsByBookmark) (HCHAPTER hReserved, corneilles ULONG,
const ULONG rgcbBookmarks [], const BYTE * rgpBookmarks [],
HROW rghRows [,], DBROWSTATUS rgRowStatus[])
{
return S_OK ;
}
STDMETHOD (Hash) (HCHAPTER hReserved, ULONG cBookmarks,
const ULONG rgcbBookmarks [], const BYTE * rgpBookmarks [],
DWORD rgHashedValues [,], DBROWSTATUS rgBookmarkStatus[])
{
ATLTRACENOTIMPL("IRowsetLocateImpl::GetRowsByBookmark") ;
}
}
Dans la rubrique suivante, vous verrez comment effectuer la mise en œuvre par l'ajout de signets.