xpmgr/BuildTools/Include/rstwtr.idl

92 lines
1.8 KiB
Plaintext

//-----------------------------------------------------------------------------
// File: rstwtr.idl
//
// Copyright: Copyright (c) Microsoft Corporation
//
// Contents: OLE DB interface definition
//
// Comments:
//
//-----------------------------------------------------------------------------
#include "idlmulti.h"
//
LOCAL_INTERFACE(0c733a45-2a1c-11ce-ade5-00aa0044773d)
interface IRowsetWatchRegion : IRowsetWatchAll {
//
// DBWATCHMODE and related definitions
//
typedef DWORD DBWATCHMODE;
enum DBWATCHMODEENUM {
DBWATCHMODE_ALL = 0x01,
DBWATCHMODE_EXTEND = 0x02,
DBWATCHMODE_MOVE = 0x04,
DBWATCHMODE_COUNT = 0x08
};
//
// DBROWWATCHCHANGE and related definitions
//
typedef DWORD DBROWCHANGEKIND;
enum DBROWCHANGEKINDENUM {
DBROWCHANGEKIND_INSERT,
DBROWCHANGEKIND_DELETE,
DBROWCHANGEKIND_UPDATE,
DBROWCHANGEKIND_COUNT
};
typedef struct tagDBROWWATCHRANGE {
HWATCHREGION hRegion;
DBROWCHANGEKIND eChangeKind;
HROW hRow;
DBCOUNTITEM iRow;
} DBROWWATCHCHANGE;
HRESULT CreateWatchRegion(
[in] DBWATCHMODE dwWatchMode,
[out] HWATCHREGION * phRegion
);
HRESULT ChangeWatchMode(
[in] HWATCHREGION hRegion,
[in] DBWATCHMODE dwWatchMode
);
HRESULT DeleteWatchRegion(
[in] HWATCHREGION hRegion
);
HRESULT GetWatchRegionInfo(
[in] HWATCHREGION hRegion,
[out] DBWATCHMODE * pdwWatchMode,
[out] HCHAPTER * phChapter,
[in, out] DBBKMARK * pcbBookmark,
[out, size_is(,*pcbBookmark)] BYTE ** ppBookmark,
[out] DBROWCOUNT * pcRows
);
HRESULT Refresh(
[in, out] DBCOUNTITEM * pcChangesObtained,
[out, size_is(,*pcChangesObtained)] DBROWWATCHCHANGE ** prgChanges
);
HRESULT ShrinkWatchRegion(
[in] HWATCHREGION hRegion,
[in] HCHAPTER hChapter,
[in] DBBKMARK cbBookmark,
[in, size_is(cbBookmark)] BYTE * pBookmark,
[in] DBROWCOUNT cRows
);
}