//----------------------------------------------------------------------------- // File: rstupd.idl // // Copyright: Copyright (c) Microsoft Corporation // // Contents: OLE DB interface definition // // Comments: // //----------------------------------------------------------------------------- #include "idlmulti.h" // LOCAL_INTERFACE(0c733a6d-2a1c-11ce-ade5-00aa0044773d) interface IRowsetUpdate : IRowsetChange { typedef DWORD DBPENDINGSTATUS; // ORable values enum DBPENDINGSTATUSENUM { DBPENDINGSTATUS_NEW = 0x01, DBPENDINGSTATUS_CHANGED = 0x02, DBPENDINGSTATUS_DELETED = 0x04, DBPENDINGSTATUS_UNCHANGED = 0x08, DBPENDINGSTATUS_INVALIDROW = 0x10, }; HRESULT GetOriginalData( [in] HROW hRow, [in] HACCESSOR hAccessor, [out] void * pData ); HRESULT GetPendingRows( [in] HCHAPTER hReserved, [in] DBPENDINGSTATUS dwRowStatus, [in, out] DBCOUNTITEM * pcPendingRows, [out, size_is(,*pcPendingRows)] HROW ** prgPendingRows, [out, size_is(,*pcPendingRows)] DBPENDINGSTATUS ** prgPendingStatus ); HRESULT GetRowStatus( [in] HCHAPTER hReserved, [in] DBCOUNTITEM cRows, [in, size_is(cRows)] const HROW rghRows[], [out, size_is(cRows)] DBPENDINGSTATUS rgPendingStatus[] ); HRESULT Undo( [in] HCHAPTER hReserved, [in] DBCOUNTITEM cRows, [in, size_is(cRows)] const HROW rghRows[], [in, out] DBCOUNTITEM * pcRowsUndone, [out, size_is(,*pcRowsUndone)] HROW ** prgRowsUndone, [out, size_is(,*pcRowsUndone)] DBROWSTATUS ** prgRowStatus ); HRESULT Update( [in] HCHAPTER hReserved, [in] DBCOUNTITEM cRows, [in, size_is(cRows)] const HROW rghRows[], [in, out] DBCOUNTITEM * pcRows, [out, size_is(,*pcRows)] HROW ** prgRows, [out, size_is(,*pcRows)] DBROWSTATUS ** prgRowStatus ); }