📄 ocdb.h
字号:
void *pBookmark,
LARGE_INTEGER dlOffset,
DBFETCHROWS *pFetchParams
);
HRESULT (STDMETHODCALLTYPE FAR *GetBookmark)
(
ICursorMove FAR *this,
DBCOLUMNID *pBookmarkType,
ULONG cbMaxSize,
ULONG *pcbBookmark,
void *pBookmark
);
HRESULT (STDMETHODCALLTYPE FAR *Clone)
(
ICursorMove FAR *this,
DWORD dwFlags,
REFIID riid,
IUnknown **ppvClonedCursor
);
} ICursorMoveVtbl;
interface ICursorMove
{
ICursorMoveVtbl FAR *lpVtbl;
} ;
#ifdef COBJMACROS
#define ICursorMove_QueryInterface(pI, riid, ppvObject) \
(*(pI)->lpVtbl->QueryInterface)((pI), riid, ppvObject)
#define ICursorMove_AddRef(pI) \
(*(pI)->lpVtbl->AddRef)((pI))
#define ICursorMove_Release(pI) \
(*(pI)->lpVtbl->Release)((pI))
#define ICursorMove_GetColumnsCursor(pI, riid, ppvColumnsCursor, pcRows) \
(*(pI)->lpVtbl->GetColumnsCursor)((pI), riid, ppvColumnsCursor, pcRows)
#define ICursorMove_SetBindings(pI, cCol, rgBoundColumns, cbRowLength, dwFlags) \
(*(pI)->lpVtbl->SetBindings)((pI), cCol, rgBoundColumns, cbRowLength, dwFlags)
#define ICursorMove_GetBindings(pI, pcCol, prgBoundColumns, pcbRowLength) \
(*(pI)->lpVtbl->GetBindings)((pI), pcCol, prgBoundColumns, pcbRowLength)
#define ICursorMove_GetNextRows(pI, udlRowsToSkip, pFetchParams) \
(*(pI)->lpVtbl->GetNextRows)((pI), udlRowsToSkip, pFetchParams)
#define ICursorMove_Requery(pI) \
(*(pI)->lpVtbl->Requery)((pI))
#define ICursorMove_Move(pI, cbBookmark, pBookmark, dlOffset, pFetchParams) \
(*(pI)->lpVtbl->Move)((pI), cbBookmark, pBookmark, dlOffset, pFetchParams)
#define ICursorMove_GetBookmark(pI, pBookmarkType, cbMaxSize, pcbBookmark, pBookmark) \
(*(pI)->lpVtbl->GetBookmark)((pI), pBookmarkType, cbMaxSize, pcbBookmark, pBookmark)
#define ICursorMove_Clone(pI, dwFlags, riid, ppvClonedCursor) \
(*(pI)->lpVtbl->Clone)((pI), dwFlags, riid, ppvClonedCursor)
#endif /* COBJMACROS */
#endif
/*----------------------------------------------------------------------------
*
* ICursorScroll
*
*----------------------------------------------------------------------------
*/
/* Forward declaration */
//typedef interface ICursorScroll ICursorScroll;
typedef enum tagDBCURSORPOPULATED
{
DBCURSORPOPULATED_FULLY = 0,
DBCURSORPOPULATED_PARTIALLY = 1
}
DBCURSORPOPULATED;
#if defined(__cplusplus) && !defined(CINTERFACE)
/* C++ Language Binding */
//extern "C" const IID IID_ICursorScroll;
interface ICursorScroll : public ICursorMove
{
public:
virtual HRESULT STDMETHODCALLTYPE Scroll
(
ULONG ulNumerator,
ULONG ulDenominator,
DBFETCHROWS *pFetchParams
) = 0;
virtual HRESULT STDMETHODCALLTYPE GetApproximatePosition
(
ULONG cbBookmark,
void *pBookmark,
ULONG *pulNumerator,
ULONG *pulDenominator
) = 0;
virtual HRESULT STDMETHODCALLTYPE GetApproximateCount
(
LARGE_INTEGER *pudlApproxCount,
DWORD *pdwFullyPopulated
) = 0;
};
#else
/* C Language Binding */
//extern const IID IID_ICursorScroll;
typedef struct ICursorScrollVtbl
{
HRESULT (STDMETHODCALLTYPE FAR *QueryInterface)
(
ICursorScroll FAR *this,
REFIID riid,
void **ppvObject
);
ULONG (STDMETHODCALLTYPE FAR *AddRef)
(
ICursorScroll FAR *this
);
ULONG (STDMETHODCALLTYPE FAR *Release)
(
ICursorScroll FAR *this
);
HRESULT (STDMETHODCALLTYPE FAR *GetColumnsCursor)
(
ICursorScroll FAR *this,
REFIID riid,
IUnknown **ppvColumnsCursor,
ULONG *pcRows
);
HRESULT (STDMETHODCALLTYPE FAR *SetBindings)
(
ICursorScroll FAR *this,
ULONG cCol,
DBCOLUMNBINDING rgBoundColumns[],
ULONG cbRowLength,
DWORD dwFlags
);
HRESULT (STDMETHODCALLTYPE FAR *GetBindings)
(
ICursorScroll FAR *this,
ULONG *pcCol,
DBCOLUMNBINDING *prgBoundColumns[],
ULONG *pcbRowLength
);
HRESULT (STDMETHODCALLTYPE FAR *GetNextRows)
(
ICursorScroll FAR *this,
LARGE_INTEGER udlRowsToSkip,
DBFETCHROWS *pFetchParams
);
HRESULT (STDMETHODCALLTYPE FAR *Requery)
(
ICursorScroll FAR *this
);
HRESULT (STDMETHODCALLTYPE FAR *Move)
(
ICursorScroll FAR *this,
ULONG cbBookmark,
void *pBookmark,
LARGE_INTEGER dlOffset,
DBFETCHROWS *pFetchParams
);
HRESULT (STDMETHODCALLTYPE FAR *GetBookmark)
(
ICursorScroll FAR *this,
DBCOLUMNID *pBookmarkType,
ULONG cbMaxSize,
ULONG *pcbBookmark,
void *pBookmark
);
HRESULT (STDMETHODCALLTYPE FAR *Clone)
(
ICursorScroll FAR *this,
DWORD dwFlags,
REFIID riid,
IUnknown **ppvClonedCursor
);
HRESULT (STDMETHODCALLTYPE FAR *Scroll)
(
ICursorScroll FAR *this,
ULONG ulNumerator,
ULONG ulDenominator,
DBFETCHROWS *pFetchParams
);
HRESULT (STDMETHODCALLTYPE FAR *GetApproximatePosition)
(
ICursorScroll FAR *this,
ULONG cbBookmark,
void *pBookmark,
ULONG *pulNumerator,
ULONG *pulDenominator
);
HRESULT (STDMETHODCALLTYPE FAR *GetApproximateCount)
(
ICursorScroll FAR *this,
LARGE_INTEGER *pudlApproxCount,
DWORD *pdwFullyPopulated
);
} ICursorScrollVtbl;
interface ICursorScroll
{
ICursorScrollVtbl FAR *lpVtbl;
} ;
#ifdef COBJMACROS
#define ICursorScroll_QueryInterface(pI, riid, ppvObject) \
(*(pI)->lpVtbl->QueryInterface)((pI), riid, ppvObject)
#define ICursorScroll_AddRef(pI) \
(*(pI)->lpVtbl->AddRef)((pI))
#define ICursorScroll_Release(pI) \
(*(pI)->lpVtbl->Release)((pI))
#define ICursorScroll_GetColumnsCursor(pI, riid, ppvColumnsCursor, pcRows) \
(*(pI)->lpVtbl->GetColumnsCursor)((pI), riid, ppvColumnsCursor, pcRows)
#define ICursorScroll_SetBindings(pI, cCol, rgBoundColumns, cbRowLength, dwFlags) \
(*(pI)->lpVtbl->SetBindings)((pI), cCol, rgBoundColumns, cbRowLength, dwFlags)
#define ICursorScroll_GetBindings(pI, pcCol, prgBoundColumns, pcbRowLength) \
(*(pI)->lpVtbl->GetBindings)((pI), pcCol, prgBoundColumns, pcbRowLength)
#define ICursorScroll_GetNextRows(pI, udlRowsToSkip, pFetchParams) \
(*(pI)->lpVtbl->GetNextRows)((pI), udlRowsToSkip, pFetchParams)
#define ICursorScroll_Requery(pI) \
(*(pI)->lpVtbl->Requery)((pI))
#define ICursorScroll_Move(pI, cbBookmark, pBookmark, dlOffset, pFetchParams) \
(*(pI)->lpVtbl->Move)((pI), cbBookmark, pBookmark, dlOffset, pFetchParams)
#define ICursorScroll_GetBookmark(pI, pBookmarkType, cbMaxSize, pcbBookmark, pBookmark) \
(*(pI)->lpVtbl->GetBookmark)((pI), pBookmarkType, cbMaxSize, pcbBookmark, pBookmark)
#define ICursorScroll_Clone(pI, dwFlags, riid, ppvClonedCursor) \
(*(pI)->lpVtbl->Clone)((pI), dwFlags, riid, ppvClonedCursor)
#define ICursorScroll_Scroll(pI, ulNumerator, ulDenominator, pFetchParams) \
(*(pI)->lpVtbl->Scroll)((pI), ulNumerator, ulDenominator, pFetchParams)
#define ICursorScroll_GetApproximatePosition(pI, cbBookmark, pBookmark, pulNumerator, pulDenominator) \
(*(pI)->lpVtbl->GetApproximatePosition)((pI), cbBookmark, pBookmark, pulNumerator, pulDenominator)
#define ICursorScroll_GetApproximateCount(pI, pudlApproxCount, pdwFullyPopulated) \
(*(pI)->lpVtbl->GetApproximateCount)((pI), pudlApproxCount, pdwFullyPopulated)
#endif /* COBJMACROS */
#endif
/*----------------------------------------------------------------------------
*
* ICursorUpdateARow
*
*----------------------------------------------------------------------------
*/
/* Forward declaration */
//typedef interface ICursorUpdateARow ICursorUpdateARow;
typedef enum tagDBEDITMODE
{
DBEDITMODE_NONE = 1,
DBEDITMODE_UPDATE = 2,
DBEDITMODE_ADD = 3
}
DBEDITMODE;
#if defined(__cplusplus) && !defined(CINTERFACE)
/* C++ Language Binding */
//extern "C" const IID IID_ICursorUpdateARow;
interface ICursorUpdateARow : public IUnknown
{
public:
virtual HRESULT STDMETHODCALLTYPE BeginUpdate
(
DWORD dwFlags
) = 0;
virtual HRESULT STDMETHODCALLTYPE SetColumn
(
DBCOLUMNID *pcid,
DBBINDPARAMS *pBindParams
) = 0;
virtual HRESULT STDMETHODCALLTYPE GetColumn
(
DBCOLUMNID *pcid,
DBBINDPARAMS *pBindParams,
DWORD *pdwFlags
) = 0;
virtual HRESULT STDMETHODCALLTYPE GetEditMode
(
DWORD *pdwState
) = 0;
virtual HRESULT STDMETHODCALLTYPE Update
(
DBCOLUMNID *pBookmarkType,
ULONG *pcbBookmark,
void **ppBookmark
) = 0;
virtual HRESULT STDMETHODCALLTYPE Cancel
(
void
) = 0;
virtual HRESULT STDMETHODCALLTYPE Delete
(
void
) = 0;
};
#else
/* C Language Binding */
//extern const IID IID_ICursorUpdateARow;
typedef struct ICursorUpdateARowVtbl
{
HRESULT (STDMETHODCALLTYPE FAR *QueryInterface)
(
ICursorUpdateARow FAR *this,
REFIID riid,
void **ppvObject
);
ULONG (STDMETHODCALLTYPE FAR *AddRef)
(
ICursorUpdateARow FAR *this
);
ULONG (STDMETHODCALLTYPE FAR *Release)
(
ICursorUpdateARow FAR *this
);
HRESULT (STDMETHODCALLTYPE FAR *BeginUpdate)
(
ICursorUpdateARow FAR *this,
DWORD dwFlags
);
HRESULT (STDMETHODCALLTYPE FAR *SetColumn)
(
ICursorUpdateARow FAR *this,
DBCOLUMNID *pcid,
DBBINDPARAMS *pBindParams
);
HRESULT (STDMETHODCALLTYPE FAR *GetColumn)
(
ICursorUpdateARow FAR *this,
DBCOLUMNID *pcid,
DBBINDPARAMS *pBindParams,
DWORD *pdwFlags
);
HRESULT (STDMETHODCALLTYPE FAR *GetEditMode)
(
ICursorUpdateARow FAR *this,
DWORD *pdwState
);
HRESULT (STDMETHODCALLTYPE FAR *Update)
(
ICursorUpdateARow FAR *this,
DBCOLUMNID *pBookmarkType,
ULONG *pcbBookmark,
void **ppBookmark
);
HRESULT (STDMETHODCALLTYPE FAR *Cancel)
(
ICursorUpdateARow FAR *this
);
HRESULT (STDMETHODCALLTYPE FAR *Delete)
(
ICursorUpdateARow FAR *this
);
} ICursorUpdateARowVtbl;
interface ICursorUpdateARow
{
ICursorUpdateARowVtbl FAR *lpVtbl;
} ;
#ifdef COBJMACROS
#define ICursorUpdateARow_QueryInterface(pI, riid, ppvObject) \
(*(pI)->lpVtbl->QueryInterface)((pI), riid, ppvObject)
#define ICursorUpdateARow_AddRef(pI) \
(*(pI)->lpVtbl->AddRef)((pI))
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -