//+--------------------------------------------------------------------------- // // Microsoft Windows // Copyright (c) Microsoft Corporation. All rights reserved. // // File: recobj.idl // // Contents: IDL definition for IReconcilableObject interface // // Classes: // // Functions: // // History: 12-12-94 SethuR Created from DavidDi's specs. // // Notes: There are a couple of issues regarding this interface that // needs to be ironed out. // // 1) How do we deal with Remote Invocation/execution if we have // HWND's as part of the arguments ? // // 2) How do we prevent having to know about the global topology // in the case of IReplicaNotify interface ? // //---------------------------------------------------------------------------- #include "idlmulti.h" interface IReconcileInitiator; REMOTED_INTERFACE(99180162-DA16-101A-935C-444553540000) interface IReconcilableObject : IUnknown { typedef enum _reconcilef { // interaction with the user is allowed RECONCILEF_MAYBOTHERUSER = 0x0001, // // hwndProgressFeedback may be used to provide reconciliation progress // feedback to the user. // RECONCILEF_FEEDBACKWINDOWVALID = 0x0002, // BUGBUG // residue support not required RECONCILEF_NORESIDUESOK = 0x0004, // caller not interested in callee's residues RECONCILEF_OMITSELFRESIDUE = 0x0008, // // Reconcile() call resuming after a previous Reconcile() call returned // REC_E_NOTCOMPLETE // RECONCILEF_RESUMERECONCILIATION = 0x0010, // Object may perform all updates. RECONCILEF_YOUMAYDOTHEUPDATES = 0x0020, // Only this object has been changed. RECONCILEF_ONLYYOUWERECHANGED = 0x0040, // flag combinations ALL_RECONCILE_FLAGS = (RECONCILEF_MAYBOTHERUSER | RECONCILEF_FEEDBACKWINDOWVALID | RECONCILEF_NORESIDUESOK | RECONCILEF_OMITSELFRESIDUE | RECONCILEF_RESUMERECONCILIATION | RECONCILEF_YOUMAYDOTHEUPDATES | RECONCILEF_ONLYYOUWERECHANGED) } RECONCILEF; HRESULT Reconcile( [in] IReconcileInitiator *pInitiator, [in] DWORD dwFlags, [in] HWND hwndOwner, [in] HWND hwndProgressFeedback, [in] ULONG cInput, [in,unique,size_is(cInput,)] LPMONIKER *rgpmkOtherInput, [out] LONG *plOutIndex, [in,unique] IStorage *pstgNewResidues, [in,unique] ULONG *pvReserved); HRESULT GetProgressFeedbackMaxEstimate( [out] ULONG *pulProgressMax); }