Implementieren von IRowsetLocate

Nach dem Ändern der Vererbung von RMyProviderRowset, müssen Sie implementieren die IRowsetLocate Schnittstelle. Finden Sie die Schnittstellendefinition in den Schnittstelle Zusammenfassung der OLE DB Programmer's Reference und die OleDb.H-Datei in das OLE DB-SDK Verzeichnis enthalten.

Implementieren Sie diese Schnittstelle:

  1. Erstellen Sie eine neue Datei namens RowLoc.h und fügen Sie die Datei zum Projekt.

  2. Erstellen Sie eine Klassendefinition für in RowLoc.h, IRowsetLocateImpl , IRowsetabgeleitet, und implementieren Sie die Klasse.

  3. Kopieren Sie die Methoden für die Schnittstelle aus der OLE DB-Headerdatei OLEDB.H RowLoc.h. Ändern Sie die HRESULT-Rückgabecodes in STDMETHOD und setzen Sie den Methodennamen, Klammern, wie im folgenden Code gezeigt.

  4. Abschließen der Implementierung (erfasst im nächsten Thema).
////////////////////////////////////////////////////////////////////////
/ / RowLoc.h
/ / die IRowsetLocateImpl-Klasse

Vorlage Lt; Class T >
ATL_NO_VTABLE IRowsetLocateImpl-Klasse: öffentliche IRowsetImpl <T> {}
Öffentliche:
   STDMETHOD (vergleichen) (HCHAPTER hReserved, ULONG cbBookmark1, const BYTE * pBookmark1, ULONG cbBookmark2, const BYTE * pBookmark2, DBCOMPARE * pComparison)
   {
      Gibt S_OK zurück.
   }

STDMETHOD (GetRowsAt) (HWATCHREGION hReserved1, hChapter-hReserved2,
      ULONG CbBookmark, const BYTE * pBookmark, lange lRowsOffset,
      LANGE Krähen, ULONG * PcRowsObtained, HROW ** PrghRows)
   {
      Gibt S_OK zurück.
   }

STDMETHOD (GetRowsByBookmark) (HCHAPTER hReserved, ULONG Krähen,
      const ULONG RgcbBookmarks [], const BYTE * RgpBookmarks [],
      HROW RghRows [], DBROWSTATUS rgRowStatus[])
   {
      Gibt S_OK zurück.
   }

STDMETHOD (Hash) (HCHAPTER hReserved, ULONG cBookmarks,
      const ULONG RgcbBookmarks [], const BYTE * RgpBookmarks [],
      DWORD [RgHashedValues], DBROWSTATUS rgBookmarkStatus[])
   {
      ATLTRACENOTIMPL("IRowsetLocateImpl::GetRowsByBookmark");
   }
}

Im nächsten Thema, sehen Sie wie die Implementierung abzuschließen , indem hinzufügen von Lesezeichen.

Index