การใช้งาน IRowsetLocate

หลังจากปรับเปลี่ยนสิ่งที่สืบทอดของ RMyProviderRowsetคุณจำเป็นต้องใช้ IRowsetLocate อินเทอร์เฟซ คุณสามารถค้นหาคำจำกัดความของอินเทอร์เฟซในการ Interface สรุปของการอ้างอิงของ OLE DB โปรแกรมเมอร์ของและ ในการ OLEDBH แฟ้มใน OLE DB SDK รวมไดเรกทอรี?

การใช้อินเทอร์เฟซนี้:

  1. สร้างไฟล์ใหม่ชื่อ RowLoc.h และเพิ่มแฟ้มลงในโครงการ?

  2. ใน RowLoc.h สร้างข้อกำหนดสำหรับคลาส IRowsetLocateImpl มาจากIRowsetและใช้เป็นคลาส?

  3. การคัดลอกวิธีการสำหรับอินเทอร์เฟซจากส่วนหัวของแฟ้ม oledb ของ OLE DBH เพื่อ RowLoc.h เปลี่ยนรหัสส่งคืน hresult ใน STDMETHOD และใส่วงเล็บที่อยู่ล้อมรอบชื่อเมธอด ตามที่แสดงในรหัสต่อไปนี้?

  4. สมบูรณ์ใช้งาน (ครอบคลุมในหัวข้อถัดไป)?
////////////////////////////////////////////////////////////////////////
/ / RowLoc.h
/ / คลาส IRowsetLocateImpl

แม่แบบ lt คลาส T >
คลา ATL_NO_VTABLE IRowsetLocateImpl: สาธารณะ IRowsetImpl <T>{
สาธารณะ:
   STDMETHOD (เปรียบเทียบ) (HCHAPTER hReserved, ULONG cbBookmark1, const ไบต์ * pBookmark1, ULONG cbBookmark2, const ไบต์ * pBookmark2, DBCOMPARE * pComparison)
   {
      กลับ S_OK
   }

STDMETHOD (GetRowsAt) (HWATCHREGION hReserved1, HCHAPTER hReserved2
      ULONG cbBookmark, const ไบต์ * pBookmark, LONG lRowsOffset
      ยาว cRows, ULONG * pcRowsObtained, HROW ** prghRows)
   {
      กลับ S_OK
   }

STDMETHOD (GetRowsByBookmark) (HCHAPTER hReserved, ULONG cRows
      [const ULONG rgcbBookmarks] const ไบต์ * rgpBookmarks []
      [] HROW rghRows, DBROWSTATUS rgRowStatus[])
   {
      กลับ S_OK
   }

STDMETHOD (Hash) (HCHAPTER hReserved, ULONG cBookmarks
      [const ULONG rgcbBookmarks] const ไบต์ * rgpBookmarks []
      [] DWORD rgHashedValues, DBROWSTATUS rgBookmarkStatus[])
   {
      ATLTRACENOTIMPL("IRowsetLocateImpl::GetRowsByBookmark")
   }
}

ในหัวข้อถัดไป คุณจะเห็นวิธีการใช้งานการทำให้เสร็จสมบูรณ์โดยการเพิ่มที่คั่นหน้าเว็บ?

Index