96 lines
3 KiB
Plaintext
96 lines
3 KiB
Plaintext
|
//+---------------------------------------------------------------------------
|
||
|
//
|
||
|
// 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);
|
||
|
}
|
||
|
|