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.

58 lines
2.1 KiB

  1. //+---------------------------------------------------------------------------
  2. //
  3. // Microsoft Windows
  4. // Copyright (c) Microsoft Corporation. All rights reserved.
  5. //
  6. // File: idiff.idl
  7. //
  8. // Contents: IDifferencing interface
  9. //
  10. // History: 11-Nov-94 SethuR Created
  11. //
  12. // Notes: There are three different way of extracting the differences
  13. // between a given storage and another point of reference
  14. // (another storage, a version id. or a time stamp). In the
  15. // first case there is no temporal significance to the differences
  16. // extracted, i.e., it is the difference in the snapshots at
  17. // that instant of time. For the second and third cases there
  18. // is a temporal significance attached to the differences. These
  19. // also require some form of history to be associated with the
  20. // storage.
  21. //
  22. //----------------------------------------------------------------------------
  23. #include "idlmulti.h"
  24. REMOTED_INTERFACE(994f0af0-2977-11ce-bb80-08002b36b2b0)
  25. interface IDifferencing : IUnknown
  26. {
  27. typedef enum {
  28. DIFF_TYPE_Ordinary,
  29. DIFF_TYPE_Urgent
  30. } DifferenceType;
  31. HRESULT SubtractMoniker(
  32. [in] IReconcileInitiator *pInitiator,
  33. [in] IMoniker *pOtherStg,
  34. [in] DifferenceType diffType,
  35. [in,out] STGMEDIUM *pStgMedium,
  36. [in] DWORD reserved);
  37. HRESULT SubtractVerid(
  38. [in] IReconcileInitiator *pInitiator,
  39. [in] VERID *pVerid,
  40. [in] DifferenceType diffType,
  41. [in,out] STGMEDIUM *pStgMedium,
  42. [in] DWORD reserved);
  43. HRESULT SubtractTimeStamp(
  44. [in] IReconcileInitiator *pInitiator,
  45. [in] FILETIME *pTimeStamp, // UTC
  46. [in] DifferenceType diffType,
  47. [in,out] STGMEDIUM *pStgMedium,
  48. [in] DWORD reserved);
  49. HRESULT Add(
  50. [in] IReconcileInitiator *pInitiator,
  51. [in] STGMEDIUM *pStgMedium);
  52. }