//+--------------------------------------------------------------------------- // // Microsoft Windows // Copyright (c) Microsoft Corporation. All rights reserved. // // File: idiff.idl // // Contents: IDifferencing interface // // History: 11-Nov-94 SethuR Created // // Notes: There are three different way of extracting the differences // between a given storage and another point of reference // (another storage, a version id. or a time stamp). In the // first case there is no temporal significance to the differences // extracted, i.e., it is the difference in the snapshots at // that instant of time. For the second and third cases there // is a temporal significance attached to the differences. These // also require some form of history to be associated with the // storage. // //---------------------------------------------------------------------------- #include "idlmulti.h" REMOTED_INTERFACE(994f0af0-2977-11ce-bb80-08002b36b2b0) interface IDifferencing : IUnknown { typedef enum { DIFF_TYPE_Ordinary, DIFF_TYPE_Urgent } DifferenceType; HRESULT SubtractMoniker( [in] IReconcileInitiator *pInitiator, [in] IMoniker *pOtherStg, [in] DifferenceType diffType, [in,out] STGMEDIUM *pStgMedium, [in] DWORD reserved); HRESULT SubtractVerid( [in] IReconcileInitiator *pInitiator, [in] VERID *pVerid, [in] DifferenceType diffType, [in,out] STGMEDIUM *pStgMedium, [in] DWORD reserved); HRESULT SubtractTimeStamp( [in] IReconcileInitiator *pInitiator, [in] FILETIME *pTimeStamp, // UTC [in] DifferenceType diffType, [in,out] STGMEDIUM *pStgMedium, [in] DWORD reserved); HRESULT Add( [in] IReconcileInitiator *pInitiator, [in] STGMEDIUM *pStgMedium); }