Leaked source code of windows server 2003
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
|
//---------------------------------------------------------------------------
// Bookmark.h : CVDBookmark header file
//
// Copyright (c) 1996 Microsoft Corporation, All Rights Reserved
// Developed by Sheridan Software Systems, Inc.
//---------------------------------------------------------------------------
#ifndef __CVDBOOKMARK__
#define __CVDBOOKMARK__
#define VDBOOKMARKSTATUS_INVALID 0 // same as CURSOR_DBBMK_INVALID
#define VDBOOKMARKSTATUS_CURRENT 1 // same as CURSOR_DBBMK_CURRENT
#define VDBOOKMARKSTATUS_BEGINNING 2 // same as CURSOR_DBBMK_BEGINNING
#define VDBOOKMARKSTATUS_END 3 // same as CURSOR_DBBMK_END
class CVDCursorPosition;
class CVDBookmark { friend class CVDCursorPosition; public: // Construction/Destruction
CVDBookmark(); ~CVDBookmark();
public:
// Access functions
CURSOR_DBVARIANT GetBookmarkVariant(){return m_varBookmark;} HROW GetHRow(){return m_hRow;} BYTE* GetBookmark(){return m_pBookmark;} ULONG GetBookmarkLen(){return m_cbBookmark;} WORD GetStatus(){return m_wStatus;}
// validation functions
BOOL IsSameBookmark(CVDBookmark * pbm); BOOL IsSameHRow(HROW hRow){return VDBOOKMARKSTATUS_CURRENT == m_wStatus && hRow == m_hRow ? TRUE : FALSE;}
protected: // Data members
CURSOR_DBVARIANT m_varBookmark; // variant that holds bookmark as a safearray
ULONG m_cbBookmark; // length of bookmark in bytes
BYTE * m_pBookmark; // pointer to bookmark's data
HROW m_hRow; // hRow associated with this bookmark
WORD m_wStatus; // beginning/end/row/unknown
// Initialization functions
void Reset(); HRESULT SetBookmark(WORD wStatus, HROW hRow = 0, BYTE* pBookmark = NULL, ULONG cbBookmark = 0);
};
#endif //__CVDBOOKMARK__
|