rstupd.idl 1.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970
  1. //-----------------------------------------------------------------------------
  2. // File: rstupd.idl
  3. //
  4. // Copyright: Copyright (c) Microsoft Corporation
  5. //
  6. // Contents: OLE DB interface definition
  7. //
  8. // Comments:
  9. //
  10. //-----------------------------------------------------------------------------
  11. #include "idlmulti.h"
  12. //
  13. LOCAL_INTERFACE(0c733a6d-2a1c-11ce-ade5-00aa0044773d)
  14. interface IRowsetUpdate : IRowsetChange {
  15. typedef DWORD DBPENDINGSTATUS;
  16. // ORable values
  17. enum DBPENDINGSTATUSENUM {
  18. DBPENDINGSTATUS_NEW = 0x01,
  19. DBPENDINGSTATUS_CHANGED = 0x02,
  20. DBPENDINGSTATUS_DELETED = 0x04,
  21. DBPENDINGSTATUS_UNCHANGED = 0x08,
  22. DBPENDINGSTATUS_INVALIDROW = 0x10,
  23. };
  24. HRESULT GetOriginalData(
  25. [in] HROW hRow,
  26. [in] HACCESSOR hAccessor,
  27. [out] void * pData
  28. );
  29. HRESULT GetPendingRows(
  30. [in] HCHAPTER hReserved,
  31. [in] DBPENDINGSTATUS dwRowStatus,
  32. [in, out] DBCOUNTITEM * pcPendingRows,
  33. [out, size_is(,*pcPendingRows)] HROW ** prgPendingRows,
  34. [out, size_is(,*pcPendingRows)] DBPENDINGSTATUS ** prgPendingStatus
  35. );
  36. HRESULT GetRowStatus(
  37. [in] HCHAPTER hReserved,
  38. [in] DBCOUNTITEM cRows,
  39. [in, size_is(cRows)] const HROW rghRows[],
  40. [out, size_is(cRows)] DBPENDINGSTATUS rgPendingStatus[]
  41. );
  42. HRESULT Undo(
  43. [in] HCHAPTER hReserved,
  44. [in] DBCOUNTITEM cRows,
  45. [in, size_is(cRows)] const HROW rghRows[],
  46. [in, out] DBCOUNTITEM * pcRowsUndone,
  47. [out, size_is(,*pcRowsUndone)] HROW ** prgRowsUndone,
  48. [out, size_is(,*pcRowsUndone)] DBROWSTATUS ** prgRowStatus
  49. );
  50. HRESULT Update(
  51. [in] HCHAPTER hReserved,
  52. [in] DBCOUNTITEM cRows,
  53. [in, size_is(cRows)] const HROW rghRows[],
  54. [in, out] DBCOUNTITEM * pcRows,
  55. [out, size_is(,*pcRows)] HROW ** prgRows,
  56. [out, size_is(,*pcRows)] DBROWSTATUS ** prgRowStatus
  57. );
  58. }