mirror of
https://git.code.sf.net/p/mingw-w64/mingw-w64
synced 2024-11-27 03:43:37 +08:00
8a67ab4541
Also replace 'This file is a part of' by 'This file is part of' for consistency git-svn-id: svn+ssh://svn.code.sf.net/p/mingw-w64/code/trunk@5147 4407c894-4637-0410-b4f5-ada5f102cad1
672 lines
28 KiB
C
672 lines
28 KiB
C
/**
|
|
* This file has no copyright assigned and is placed in the Public Domain.
|
|
* This file is part of the mingw-w64 runtime package.
|
|
* No warranty is given; refer to the file DISCLAIMER.PD within this package.
|
|
*/
|
|
#ifndef __WINSYNC_H__
|
|
#define __WINSYNC_H__
|
|
#include <objbase.h>
|
|
|
|
#if (_WIN32_WINNT >= 0x0601)
|
|
|
|
typedef enum _CONFLICT_RESOLUTION_POLICY {
|
|
CRP_NONE = 0,
|
|
CRP_DESTINATION_PROVIDER_WINS,
|
|
CRP_SOURCE_PROVIDER_WINS,
|
|
CRP_LAST
|
|
} CONFLICT_RESOLUTION_POLICY;
|
|
|
|
typedef enum _FILTERING_TYPE {
|
|
FT_CURRENT_ITEMS_ONLY = 0
|
|
} FILTERING_TYPE;
|
|
|
|
typedef enum _KNOWLEDGE_COOKIE_COMPARISON_RESULT {
|
|
KCCR_COOKIE_KNOWLEDGE_EQUAL = 0,
|
|
KCCR_COOKIE_KNOWLEDGE_CONTAINED,
|
|
KCCR_COOKIE_KNOWLEDGE_CONTAINS,
|
|
KCCR_COOKIE_KNOWLEDGE_NOT_COMPARABLE
|
|
} KNOWLEDGE_COOKIE_COMPARISON_RESULT;
|
|
|
|
typedef enum _SYNC_FULL_ENUMERATION_ACTION {
|
|
SFEA_FULL_ENUMERATION = 0,
|
|
SFEA_PARTIAL_SYNC,
|
|
SFEA_ABORT
|
|
} SYNC_FULL_ENUMERATION_ACTION;
|
|
|
|
typedef enum _SYNC_PROGRESS_STAGE {
|
|
SPS_CHANGE_DETECTION = 0,
|
|
SPS_CHANGE_ENUMERATION,
|
|
SPS_CHANGE_APPLICATION
|
|
} SYNC_PROGRESS_STAGE;
|
|
|
|
typedef enum _SYNC_PROVIDER_ROLE {
|
|
SPR_SOURCE = 0,
|
|
SPR_DESTINATION
|
|
} SYNC_PROVIDER_ROLE;
|
|
|
|
typedef enum _SYNC_RESOLVE_ACTION {
|
|
SRA_DEFER = 0,
|
|
SRA_ACCEPT_DESTINATION_PROVIDER,
|
|
SRA_ACCEPT_SOURCE_PROVIDER,
|
|
SRA_MERGE,
|
|
SRA_TRANSFER_AND_DEFER,
|
|
SRA_LAST
|
|
} SYNC_RESOLVE_ACTION;
|
|
|
|
typedef enum _SYNC_SERIALIZATION_VERSION {
|
|
SYNC_SERIALIZATION_VERSION_V1 = 0,
|
|
SYNC_SERIALIZATION_VERSION_V2
|
|
} SYNC_SERIALIZATION_VERSION;
|
|
|
|
typedef enum _SYNC_STATISTICS {
|
|
SYNC_STATISTICS_RANGE_COUNT = 0
|
|
} SYNC_STATISTICS;
|
|
|
|
typedef struct _ID_PARAMETER_PAIR {
|
|
WINBOOL fIsVariable;
|
|
USHORT cbIdSize;
|
|
} ID_PARAMETER_PAIR;
|
|
|
|
typedef struct _ID_PARAMETERS {
|
|
DWORD dwSize;
|
|
ID_PARAMETER_PAIR replicaId;
|
|
ID_PARAMETER_PAIR itemId;
|
|
ID_PARAMETER_PAIR changeUnitId;
|
|
} ID_PARAMETERS;
|
|
|
|
typedef struct _SYNC_RANGE {
|
|
BYTE * pbClosedLowerBound;
|
|
BYTE * pbClosedUpperBound;
|
|
} SYNC_RANGE;
|
|
|
|
typedef struct _SYNC_SESSION_STATISTICS {
|
|
DWORD dwChangesApplied;
|
|
DWORD dwChangesFailed;
|
|
} SYNC_SESSION_STATISTICS;
|
|
|
|
typedef struct _SYNC_TIME {
|
|
DWORD dwDate;
|
|
DWORD dwTime;
|
|
} SYNC_TIME;
|
|
|
|
typedef struct _SYNC_VERSION {
|
|
DWORD dwLastUpdatingReplicaKey;
|
|
ULONGLONG ullTickCount;
|
|
} SYNC_VERSION;
|
|
|
|
#ifndef __IAsynchronousDataRetriever_FWD_DEFINED__
|
|
#define __IAsynchronousDataRetriever_FWD_DEFINED__
|
|
typedef struct IAssociatedIdentityProvider IAssociatedIdentityProvider;
|
|
#endif
|
|
|
|
#ifndef __IDataRetrieverCallback_FWD_DEFINED__
|
|
#define __IDataRetrieverCallback_FWD_DEFINED__
|
|
typedef struct IDataRetrieverCallback IDataRetrieverCallback;
|
|
#endif
|
|
|
|
#ifndef __IChangeConflict_FWD_DEFINED__
|
|
#define __IChangeConflict_FWD_DEFINED__
|
|
typedef struct IChangeConflict IChangeConflict;
|
|
#endif
|
|
|
|
#ifndef __IChangeUnitException_FWD_DEFINED__
|
|
#define __IChangeUnitException_FWD_DEFINED__
|
|
typedef struct IChangeUnitException IChangeUnitException;
|
|
#endif
|
|
|
|
#ifndef __IChangeUnitListFilterInfo_FWD_DEFINED__
|
|
#define __IChangeUnitListFilterInfo_FWD_DEFINED__
|
|
typedef struct IChangeUnitListFilterInfo IChangeUnitListFilterInfo;
|
|
#endif
|
|
|
|
#ifndef __ISyncFilterInfo_FWD_DEFINED__
|
|
#define __ISyncFilterInfo_FWD_DEFINED__
|
|
typedef struct ISyncFilterInfo ISyncFilterInfo;
|
|
#endif
|
|
|
|
#ifndef __IClockVector_FWD_DEFINED__
|
|
#define __IClockVector_FWD_DEFINED__
|
|
typedef struct IClockVector IClockVector;
|
|
#endif
|
|
|
|
#ifndef __IClockVectorElement_FWD_DEFINED__
|
|
#define __IClockVectorElement_FWD_DEFINED__
|
|
typedef struct IClockVectorElement IClockVectorElement;
|
|
#endif
|
|
|
|
#ifndef __IConstructReplicaKeyMap_FWD_DEFINED__
|
|
#define __IConstructReplicaKeyMap_FWD_DEFINED__
|
|
typedef struct IConstructReplicaKeyMap IConstructReplicaKeyMap;
|
|
#endif
|
|
|
|
#ifndef __ICoreFragment_FWD_DEFINED__
|
|
#define __ICoreFragment_FWD_DEFINED__
|
|
typedef struct ICoreFragment ICoreFragment;
|
|
#endif
|
|
|
|
#ifndef __ILoadChangeContext_FWD_DEFINED__
|
|
#define __ILoadChangeContext_FWD_DEFINED__
|
|
typedef struct ILoadChangeContext ILoadChangeContext;
|
|
#endif
|
|
|
|
#ifndef __ISyncChange_FWD_DEFINED__
|
|
#define __ISyncChange_FWD_DEFINED__
|
|
typedef struct ISyncChange ISyncChange;
|
|
#endif
|
|
|
|
#ifndef __ISyncChangeUnit_FWD_DEFINED__
|
|
#define __ISyncChangeUnit_FWD_DEFINED__
|
|
typedef struct ISyncChangeUnit ISyncChangeUnit;
|
|
#endif
|
|
|
|
#ifndef __IRecoverableErrorData_FWD_DEFINED__
|
|
#define __IRecoverableErrorData_FWD_DEFINED__
|
|
typedef struct IRecoverableErrorData IRecoverableErrorData;
|
|
#endif
|
|
|
|
#ifndef __IEnumSyncChangeUnits_FWD_DEFINED__
|
|
#define __IEnumSyncChangeUnits_FWD_DEFINED__
|
|
typedef struct IEnumSyncChangeUnits IEnumSyncChangeUnits;
|
|
#endif
|
|
|
|
/* Fixme: ISyncKnowledge method list is missing from MSDN */
|
|
#ifndef __ISyncKnowledge_FWD_DEFINED__
|
|
#define __ISyncKnowledge_FWD_DEFINED__
|
|
typedef struct ISyncKnowledge ISyncKnowledge;
|
|
#endif
|
|
|
|
#undef INTERFACE
|
|
#define INTERFACE IAsynchronousDataRetriever
|
|
#ifdef __GNUC__
|
|
#warning COM interfaces layout in this header has not been verified.
|
|
#warning COM interfaces with incorrect layout may not work at all.
|
|
__MINGW_BROKEN_INTERFACE(INTERFACE)
|
|
#endif
|
|
DECLARE_INTERFACE_(IAsynchronousDataRetriever,IUnknown)
|
|
{
|
|
BEGIN_INTERFACE
|
|
|
|
/* IUnknown methods */
|
|
STDMETHOD(QueryInterface)(THIS_ REFIID riid, void **ppvObject) PURE;
|
|
STDMETHOD_(ULONG, AddRef)(THIS) PURE;
|
|
STDMETHOD_(ULONG, Release)(THIS) PURE;
|
|
|
|
/* IAsynchronousDataRetriever methods */
|
|
STDMETHOD_(HRESULT,GetIdParameters)(THIS_ ID_PARAMETERS *pIdParameters) PURE;
|
|
STDMETHOD_(HRESULT,LoadChangeData)(THIS_ ILoadChangeContext *pLoadChangeContext) PURE;
|
|
STDMETHOD_(HRESULT,RegisterCallback)(THIS_ IDataRetrieverCallback *pDataRetrieverCallback) PURE;
|
|
STDMETHOD_(HRESULT,RevokeCallback)(THIS_ IDataRetrieverCallback *pDataRetrieverCallback) PURE;
|
|
|
|
END_INTERFACE
|
|
};
|
|
#ifdef COBJMACROS
|
|
#define IAsynchronousDataRetriever_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
|
|
#define IAsynchronousDataRetriever_AddRef(This) (This)->lpVtbl->AddRef(This)
|
|
#define IAsynchronousDataRetriever_Release(This) (This)->lpVtbl->Release(This)
|
|
#define IAsynchronousDataRetriever_GetIdParameters(This,pIdParameters) (This)->lpVtbl->GetIdParameters(This,pIdParameters)
|
|
#define IAsynchronousDataRetriever_LoadChangeData(This,pLoadChangeContext) (This)->lpVtbl->LoadChangeData(This,pLoadChangeContext)
|
|
#define IAsynchronousDataRetriever_RegisterCallback(This,pDataRetrieverCallback) (This)->lpVtbl->RegisterCallback(This,pDataRetrieverCallback)
|
|
#define IAsynchronousDataRetriever_RevokeCallback(This,pDataRetrieverCallback) (This)->lpVtbl->RevokeCallback(This,pDataRetrieverCallback)
|
|
#endif /*COBJMACROS*/
|
|
|
|
#undef INTERFACE
|
|
#define INTERFACE IDataRetrieverCallback
|
|
#ifdef __GNUC__
|
|
#warning COM interfaces layout in this header has not been verified.
|
|
#warning COM interfaces with incorrect layout may not work at all.
|
|
__MINGW_BROKEN_INTERFACE(INTERFACE)
|
|
#endif
|
|
DECLARE_INTERFACE_(IDataRetrieverCallback,IUnknown)
|
|
{
|
|
BEGIN_INTERFACE
|
|
|
|
/* IUnknown methods */
|
|
STDMETHOD(QueryInterface)(THIS_ REFIID riid, void **ppvObject) PURE;
|
|
STDMETHOD_(ULONG, AddRef)(THIS) PURE;
|
|
STDMETHOD_(ULONG, Release)(THIS) PURE;
|
|
|
|
/* IDataRetrieverCallback methods */
|
|
STDMETHOD_(HRESULT,LoadChangeDataComplete)(THIS_ IUnknown *pUnkData) PURE;
|
|
STDMETHOD_(HRESULT,LoadChangeDataError)(THIS_ HRESULT hrError) PURE;
|
|
|
|
END_INTERFACE
|
|
};
|
|
#ifdef COBJMACROS
|
|
#define IDataRetrieverCallback_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
|
|
#define IDataRetrieverCallback_AddRef(This) (This)->lpVtbl->AddRef(This)
|
|
#define IDataRetrieverCallback_Release(This) (This)->lpVtbl->Release(This)
|
|
#define IDataRetrieverCallback_LoadChangeDataComplete(This,pUnkData) (This)->lpVtbl->LoadChangeDataComplete(This,pUnkData)
|
|
#define IDataRetrieverCallback_LoadChangeDataError(This,hrError) (This)->lpVtbl->LoadChangeDataError(This,hrError)
|
|
#endif /*COBJMACROS*/
|
|
|
|
#undef INTERFACE
|
|
#define INTERFACE IChangeConflict
|
|
#ifdef __GNUC__
|
|
#warning COM interfaces layout in this header has not been verified.
|
|
#warning COM interfaces with incorrect layout may not work at all.
|
|
__MINGW_BROKEN_INTERFACE(INTERFACE)
|
|
#endif
|
|
DECLARE_INTERFACE_(IChangeConflict,IUnknown)
|
|
{
|
|
BEGIN_INTERFACE
|
|
|
|
/* IUnknown methods */
|
|
STDMETHOD(QueryInterface)(THIS_ REFIID riid, void **ppvObject) PURE;
|
|
STDMETHOD_(ULONG, AddRef)(THIS) PURE;
|
|
STDMETHOD_(ULONG, Release)(THIS) PURE;
|
|
|
|
/* IChangeConflict methods */
|
|
STDMETHOD_(HRESULT,GetDestinationProviderConflictingChange)(THIS_ ISyncChange **ppConflictingChange) PURE;
|
|
STDMETHOD_(HRESULT,GetDestinationProviderConflictingData)(THIS_ IUnknown **ppConflictingData) PURE;
|
|
STDMETHOD_(HRESULT,GetResolveActionForChange)(THIS_ SYNC_RESOLVE_ACTION *pResolveAction) PURE;
|
|
STDMETHOD_(HRESULT,GetResolveActionForChangeUnit)(THIS_ ISyncChangeUnit *pChangeUnit,SYNC_RESOLVE_ACTION *pResolveAction) PURE;
|
|
STDMETHOD_(HRESULT,GetSourceProviderConflictingChange)(THIS_ ISyncChange **ppSyncChange) PURE;
|
|
STDMETHOD_(HRESULT,GetSourceProviderConflictingData)(THIS_ IUnknown **ppConflictingData) PURE;
|
|
STDMETHOD_(HRESULT,SetResolveActionForChange)(THIS_ SYNC_RESOLVE_ACTION resolveAction) PURE;
|
|
STDMETHOD_(HRESULT,SetResolveActionForChangeUnit)(THIS_ ISyncChangeUnit *pChangeUnit,SYNC_RESOLVE_ACTION resolveAction) PURE;
|
|
|
|
END_INTERFACE
|
|
};
|
|
#ifdef COBJMACROS
|
|
#define IChangeConflict_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
|
|
#define IChangeConflict_AddRef(This) (This)->lpVtbl->AddRef(This)
|
|
#define IChangeConflict_Release(This) (This)->lpVtbl->Release(This)
|
|
#define IChangeConflict_GetDestinationProviderConflictingChange(This,ppConflictingChange) (This)->lpVtbl->GetDestinationProviderConflictingChange(This,ppConflictingChange)
|
|
#define IChangeConflict_GetDestinationProviderConflictingData(This,ppConflictingData) (This)->lpVtbl->GetDestinationProviderConflictingData(This,ppConflictingData)
|
|
#define IChangeConflict_GetResolveActionForChange(This,pResolveAction) (This)->lpVtbl->GetResolveActionForChange(This,pResolveAction)
|
|
#define IChangeConflict_GetResolveActionForChangeUnit(This,pChangeUnit,pResolveAction) (This)->lpVtbl->GetResolveActionForChangeUnit(This,pChangeUnit,pResolveAction)
|
|
#define IChangeConflict_GetSourceProviderConflictingChange(This,ppSyncChange) (This)->lpVtbl->GetSourceProviderConflictingChange(This,ppSyncChange)
|
|
#define IChangeConflict_GetSourceProviderConflictingData(This,ppConflictingData) (This)->lpVtbl->GetSourceProviderConflictingData(This,ppConflictingData)
|
|
#define IChangeConflict_SetResolveActionForChange(This,resolveAction) (This)->lpVtbl->SetResolveActionForChange(This,resolveAction)
|
|
#define IChangeConflict_SetResolveActionForChangeUnit(This,pChangeUnit,resolveAction) (This)->lpVtbl->SetResolveActionForChangeUnit(This,pChangeUnit,resolveAction)
|
|
#endif /*COBJMACROS*/
|
|
|
|
#undef INTERFACE
|
|
#define INTERFACE IChangeUnitException
|
|
#ifdef __GNUC__
|
|
#warning COM interfaces layout in this header has not been verified.
|
|
#warning COM interfaces with incorrect layout may not work at all.
|
|
__MINGW_BROKEN_INTERFACE(INTERFACE)
|
|
#endif
|
|
DECLARE_INTERFACE_(IChangeUnitException,IUnknown)
|
|
{
|
|
BEGIN_INTERFACE
|
|
|
|
/* IUnknown methods */
|
|
STDMETHOD(QueryInterface)(THIS_ REFIID riid, void **ppvObject) PURE;
|
|
STDMETHOD_(ULONG, AddRef)(THIS) PURE;
|
|
STDMETHOD_(ULONG, Release)(THIS) PURE;
|
|
|
|
/* IChangeUnitException methods */
|
|
STDMETHOD_(HRESULT,GetChangeUnitId)(THIS_ DWORD *pcbIdSize) PURE;
|
|
STDMETHOD_(HRESULT,GetClockVector)(THIS_ REFIID riid,void **ppUnk) PURE;
|
|
STDMETHOD_(HRESULT,GetItemId)(THIS_ DWORD *pcbIdSize) PURE;
|
|
|
|
END_INTERFACE
|
|
};
|
|
#ifdef COBJMACROS
|
|
#define IChangeUnitException_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
|
|
#define IChangeUnitException_AddRef(This) (This)->lpVtbl->AddRef(This)
|
|
#define IChangeUnitException_Release(This) (This)->lpVtbl->Release(This)
|
|
#define IChangeUnitException_GetChangeUnitId(This,pcbIdSize) (This)->lpVtbl->GetChangeUnitId(This,pcbIdSize)
|
|
#define IChangeUnitException_GetClockVector(This,riid,ppUnk) (This)->lpVtbl->GetClockVector(This,riid,ppUnk)
|
|
#define IChangeUnitException_GetItemId(This,pcbIdSize) (This)->lpVtbl->GetItemId(This,pcbIdSize)
|
|
#endif /*COBJMACROS*/
|
|
|
|
#undef INTERFACE
|
|
#define INTERFACE ISyncFilterInfo
|
|
DECLARE_INTERFACE_(ISyncFilterInfo,IUnknown)
|
|
{
|
|
BEGIN_INTERFACE
|
|
|
|
/* IUnknown methods */
|
|
STDMETHOD(QueryInterface)(THIS_ REFIID riid, void **ppvObject) PURE;
|
|
STDMETHOD_(ULONG, AddRef)(THIS) PURE;
|
|
STDMETHOD_(ULONG, Release)(THIS) PURE;
|
|
|
|
/* ISyncFilterInfo methods */
|
|
STDMETHOD_(HRESULT,Serialize)(THIS_ DWORD *pcbBuffer) PURE;
|
|
|
|
END_INTERFACE
|
|
};
|
|
#ifdef COBJMACROS
|
|
#define ISyncFilterInfo_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
|
|
#define ISyncFilterInfo_AddRef(This) (This)->lpVtbl->AddRef(This)
|
|
#define ISyncFilterInfo_Release(This) (This)->lpVtbl->Release(This)
|
|
#define ISyncFilterInfo_Serialize(This,pcbBuffer) (This)->lpVtbl->Serialize(This,pcbBuffer)
|
|
#endif /*COBJMACROS*/
|
|
|
|
#undef INTERFACE
|
|
#define INTERFACE IChangeUnitListFilterInfo
|
|
#ifdef __GNUC__
|
|
#warning COM interfaces layout in this header has not been verified.
|
|
#warning COM interfaces with incorrect layout may not work at all.
|
|
__MINGW_BROKEN_INTERFACE(INTERFACE)
|
|
#endif
|
|
DECLARE_INTERFACE_(IChangeUnitListFilterInfo,ISyncFilterInfo)
|
|
{
|
|
BEGIN_INTERFACE
|
|
|
|
/* IUnknown methods */
|
|
STDMETHOD(QueryInterface)(THIS_ REFIID riid, void **ppvObject) PURE;
|
|
STDMETHOD_(ULONG, AddRef)(THIS) PURE;
|
|
STDMETHOD_(ULONG, Release)(THIS) PURE;
|
|
|
|
/* ISyncFilterInfo methods */
|
|
STDMETHOD_(HRESULT,Serialize)(THIS_ DWORD *pcbBuffer) PURE;
|
|
|
|
/* IChangeUnitListFilterInfo methods */
|
|
STDMETHOD_(HRESULT,GetChangeUnitId)(THIS_ DWORD dwChangeUnitIdIndex,DWORD *pcbIdSize) PURE;
|
|
STDMETHOD_(HRESULT,GetChangeUnitIdCount)(THIS_ DWORD *pdwChangeUnitIdCount) PURE;
|
|
STDMETHOD_(HRESULT,Initialize)(THIS_ const BYTE * const *ppbChangeUnitIds,DWORD dwChangeUnitCount) PURE;
|
|
|
|
END_INTERFACE
|
|
};
|
|
#ifdef COBJMACROS
|
|
#define IChangeUnitListFilterInfo_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
|
|
#define IChangeUnitListFilterInfo_AddRef(This) (This)->lpVtbl->AddRef(This)
|
|
#define IChangeUnitListFilterInfo_Release(This) (This)->lpVtbl->Release(This)
|
|
#define IChangeUnitListFilterInfo_Serialize(This,pcbBuffer) (This)->lpVtbl->Serialize(This,pcbBuffer)
|
|
#define IChangeUnitListFilterInfo_GetChangeUnitId(This,dwChangeUnitIdIndex,pcbIdSize) (This)->lpVtbl->GetChangeUnitId(This,dwChangeUnitIdIndex,pcbIdSize)
|
|
#define IChangeUnitListFilterInfo_GetChangeUnitIdCount(This,pdwChangeUnitIdCount) (This)->lpVtbl->GetChangeUnitIdCount(This,pdwChangeUnitIdCount)
|
|
#define IChangeUnitListFilterInfo_Initialize(This,ppbChangeUnitIds,dwChangeUnitCount) (This)->lpVtbl->Initialize(This,ppbChangeUnitIds,dwChangeUnitCount)
|
|
#endif /*COBJMACROS*/
|
|
|
|
#undef INTERFACE
|
|
#define INTERFACE IClockVector
|
|
#ifdef __GNUC__
|
|
#warning COM interfaces layout in this header has not been verified.
|
|
#warning COM interfaces with incorrect layout may not work at all.
|
|
__MINGW_BROKEN_INTERFACE(INTERFACE)
|
|
#endif
|
|
DECLARE_INTERFACE_(IClockVector,IUnknown)
|
|
{
|
|
BEGIN_INTERFACE
|
|
|
|
/* IUnknown methods */
|
|
STDMETHOD(QueryInterface)(THIS_ REFIID riid, void **ppvObject) PURE;
|
|
STDMETHOD_(ULONG, AddRef)(THIS) PURE;
|
|
STDMETHOD_(ULONG, Release)(THIS) PURE;
|
|
|
|
/* IClockVector methods */
|
|
STDMETHOD_(HRESULT,GetClockVectorElementCount)(THIS_ DWORD *pdwCount) PURE;
|
|
STDMETHOD_(HRESULT,GetClockVectorElements)(THIS_ REFIID riid,void **ppiEnumClockVector) PURE;
|
|
|
|
END_INTERFACE
|
|
};
|
|
#ifdef COBJMACROS
|
|
#define IClockVector_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
|
|
#define IClockVector_AddRef(This) (This)->lpVtbl->AddRef(This)
|
|
#define IClockVector_Release(This) (This)->lpVtbl->Release(This)
|
|
#define IClockVector_GetClockVectorElementCount(This,pdwCount) (This)->lpVtbl->GetClockVectorElementCount(This,pdwCount)
|
|
#define IClockVector_GetClockVectorElements(This,riid,ppiEnumClockVector) (This)->lpVtbl->GetClockVectorElements(This,riid,ppiEnumClockVector)
|
|
#endif /*COBJMACROS*/
|
|
|
|
#undef INTERFACE
|
|
#define INTERFACE IClockVectorElement
|
|
#ifdef __GNUC__
|
|
#warning COM interfaces layout in this header has not been verified.
|
|
#warning COM interfaces with incorrect layout may not work at all.
|
|
__MINGW_BROKEN_INTERFACE(INTERFACE)
|
|
#endif
|
|
DECLARE_INTERFACE_(IClockVectorElement,IUnknown)
|
|
{
|
|
BEGIN_INTERFACE
|
|
|
|
/* IUnknown methods */
|
|
STDMETHOD(QueryInterface)(THIS_ REFIID riid, void **ppvObject) PURE;
|
|
STDMETHOD_(ULONG, AddRef)(THIS) PURE;
|
|
STDMETHOD_(ULONG, Release)(THIS) PURE;
|
|
|
|
/* IClockVectorElement methods */
|
|
STDMETHOD_(HRESULT,GetReplicaKey)(THIS_ DWORD *pdwReplicaKey) PURE;
|
|
STDMETHOD_(HRESULT,GetTickCount)(THIS_ ULONGLONG *pullTickCount) PURE;
|
|
|
|
END_INTERFACE
|
|
};
|
|
#ifdef COBJMACROS
|
|
#define IClockVectorElement_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
|
|
#define IClockVectorElement_AddRef(This) (This)->lpVtbl->AddRef(This)
|
|
#define IClockVectorElement_Release(This) (This)->lpVtbl->Release(This)
|
|
#define IClockVectorElement_GetReplicaKey(This,pdwReplicaKey) (This)->lpVtbl->GetReplicaKey(This,pdwReplicaKey)
|
|
#define IClockVectorElement_GetTickCount(This,pullTickCount) (This)->lpVtbl->GetTickCount(This,pullTickCount)
|
|
#endif /*COBJMACROS*/
|
|
|
|
#undef INTERFACE
|
|
#define INTERFACE IConstructReplicaKeyMap
|
|
DECLARE_INTERFACE_(IConstructReplicaKeyMap,IUnknown)
|
|
{
|
|
BEGIN_INTERFACE
|
|
|
|
/* IUnknown methods */
|
|
STDMETHOD(QueryInterface)(THIS_ REFIID riid, void **ppvObject) PURE;
|
|
STDMETHOD_(ULONG, AddRef)(THIS) PURE;
|
|
STDMETHOD_(ULONG, Release)(THIS) PURE;
|
|
|
|
/* IConstructReplicaKeyMap methods */
|
|
STDMETHOD_(HRESULT,FindOrAddReplica)(THIS_ BYTE *pbReplicaId,DWORD *pdwReplicaKey) PURE;
|
|
|
|
END_INTERFACE
|
|
};
|
|
#ifdef COBJMACROS
|
|
#define IConstructReplicaKeyMap_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
|
|
#define IConstructReplicaKeyMap_AddRef(This) (This)->lpVtbl->AddRef(This)
|
|
#define IConstructReplicaKeyMap_Release(This) (This)->lpVtbl->Release(This)
|
|
#define IConstructReplicaKeyMap_FindOrAddReplica(This,pbReplicaId,pdwReplicaKey) (This)->lpVtbl->FindOrAddReplica(This,pbReplicaId,pdwReplicaKey)
|
|
#endif /*COBJMACROS*/
|
|
|
|
#undef INTERFACE
|
|
#define INTERFACE ICoreFragment
|
|
#ifdef __GNUC__
|
|
#warning COM interfaces layout in this header has not been verified.
|
|
#warning COM interfaces with incorrect layout may not work at all.
|
|
__MINGW_BROKEN_INTERFACE(INTERFACE)
|
|
#endif
|
|
DECLARE_INTERFACE_(ICoreFragment,IUnknown)
|
|
{
|
|
BEGIN_INTERFACE
|
|
|
|
/* IUnknown methods */
|
|
STDMETHOD(QueryInterface)(THIS_ REFIID riid, void **ppvObject) PURE;
|
|
STDMETHOD_(ULONG, AddRef)(THIS) PURE;
|
|
STDMETHOD_(ULONG, Release)(THIS) PURE;
|
|
|
|
/* ICoreFragment methods */
|
|
STDMETHOD_(HRESULT,GetColumnCount)(THIS_ DWORD *pColumnCount) PURE;
|
|
STDMETHOD_(HRESULT,GetRangeCount)(THIS_ DWORD *pRangeCount) PURE;
|
|
STDMETHOD_(HRESULT,NextColumn)(THIS_ DWORD *pChangeUnitIdSize) PURE;
|
|
STDMETHOD_(HRESULT,NextRange)(THIS_ DWORD *pItemIdSize,IClockVector **piClockVector) PURE;
|
|
STDMETHOD_(HRESULT,Reset)(THIS) PURE;
|
|
|
|
END_INTERFACE
|
|
};
|
|
#ifdef COBJMACROS
|
|
#define ICoreFragment_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
|
|
#define ICoreFragment_AddRef(This) (This)->lpVtbl->AddRef(This)
|
|
#define ICoreFragment_Release(This) (This)->lpVtbl->Release(This)
|
|
#define ICoreFragment_GetColumnCount(This,pColumnCount) (This)->lpVtbl->GetColumnCount(This,pColumnCount)
|
|
#define ICoreFragment_GetRangeCount(This,pRangeCount) (This)->lpVtbl->GetRangeCount(This,pRangeCount)
|
|
#define ICoreFragment_NextColumn(This,pChangeUnitIdSize) (This)->lpVtbl->NextColumn(This,pChangeUnitIdSize)
|
|
#define ICoreFragment_NextRange(This,pItemIdSize,piClockVector) (This)->lpVtbl->NextRange(This,pItemIdSize,piClockVector)
|
|
#define ICoreFragment_Reset() (This)->lpVtbl->Reset(This)
|
|
#endif /*COBJMACROS*/
|
|
|
|
#undef INTERFACE
|
|
#define INTERFACE ILoadChangeContext
|
|
#ifdef __GNUC__
|
|
#warning COM interfaces layout in this header has not been verified.
|
|
#warning COM interfaces with incorrect layout may not work at all.
|
|
__MINGW_BROKEN_INTERFACE(INTERFACE)
|
|
#endif
|
|
DECLARE_INTERFACE_(ILoadChangeContext,IUnknown)
|
|
{
|
|
BEGIN_INTERFACE
|
|
|
|
/* IUnknown methods */
|
|
STDMETHOD(QueryInterface)(THIS_ REFIID riid, void **ppvObject) PURE;
|
|
STDMETHOD_(ULONG, AddRef)(THIS) PURE;
|
|
STDMETHOD_(ULONG, Release)(THIS) PURE;
|
|
|
|
/* ILoadChangeContext methods */
|
|
STDMETHOD_(HRESULT,GetSyncChange)(THIS_ ISyncChange **ppSyncChange) PURE;
|
|
STDMETHOD_(HRESULT,SetRecoverableErrorOnChange)(THIS_ HRESULT hrError,IRecoverableErrorData *pErrorData) PURE;
|
|
STDMETHOD_(HRESULT,SetRecoverableErrorOnChangeUnit)(THIS_ HRESULT hrError,ISyncChangeUnit *pChangeUnit,IRecoverableErrorData *pErrorData) PURE;
|
|
|
|
END_INTERFACE
|
|
};
|
|
#ifdef COBJMACROS
|
|
#define ILoadChangeContext_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
|
|
#define ILoadChangeContext_AddRef(This) (This)->lpVtbl->AddRef(This)
|
|
#define ILoadChangeContext_Release(This) (This)->lpVtbl->Release(This)
|
|
#define ILoadChangeContext_GetSyncChange(This,ppSyncChange) (This)->lpVtbl->GetSyncChange(This,ppSyncChange)
|
|
#define ILoadChangeContext_SetRecoverableErrorOnChange(This,hrError,pErrorData) (This)->lpVtbl->SetRecoverableErrorOnChange(This,hrError,pErrorData)
|
|
#define ILoadChangeContext_SetRecoverableErrorOnChangeUnit(This,hrError,pChangeUnit,pErrorData) (This)->lpVtbl->SetRecoverableErrorOnChangeUnit(This,hrError,pChangeUnit,pErrorData)
|
|
#endif /*COBJMACROS*/
|
|
|
|
#undef INTERFACE
|
|
#define INTERFACE ISyncChange
|
|
#ifdef __GNUC__
|
|
#warning COM interfaces layout in this header has not been verified.
|
|
#warning COM interfaces with incorrect layout may not work at all.
|
|
__MINGW_BROKEN_INTERFACE(INTERFACE)
|
|
#endif
|
|
DECLARE_INTERFACE_(ISyncChange,IUnknown)
|
|
{
|
|
BEGIN_INTERFACE
|
|
|
|
/* IUnknown methods */
|
|
STDMETHOD(QueryInterface)(THIS_ REFIID riid, void **ppvObject) PURE;
|
|
STDMETHOD_(ULONG, AddRef)(THIS) PURE;
|
|
STDMETHOD_(ULONG, Release)(THIS) PURE;
|
|
|
|
/* ISyncChange methods */
|
|
STDMETHOD_(HRESULT,GetChangeUnits)(THIS_ IEnumSyncChangeUnits **ppEnum) PURE;
|
|
STDMETHOD_(HRESULT,GetChangeVersion)(THIS_ const BYTE *pbCurrentReplicaId,SYNC_VERSION *pVersion) PURE;
|
|
STDMETHOD_(HRESULT,GetCreationVersion)(THIS_ const BYTE *pbCurrentReplicaId,SYNC_VERSION *pVersion) PURE;
|
|
STDMETHOD_(HRESULT,GetFlags)(THIS_ DWORD *pdwFlags) PURE;
|
|
STDMETHOD_(HRESULT,GetLearnedKnowledge)(THIS_ ISyncKnowledge **ppMadeWithKnowledge) PURE;
|
|
STDMETHOD_(HRESULT,GetMadeWithKnowledge)(THIS_ ISyncKnowledge **ppMadeWithKnowledge) PURE;
|
|
STDMETHOD_(HRESULT,GetOwnerReplicaId)(THIS_ DWORD *pcbIdSize) PURE;
|
|
STDMETHOD_(HRESULT,GetRootItemId)(THIS_ DWORD *pcbIdSize) PURE;
|
|
STDMETHOD_(HRESULT,GetWorkEstimate)(THIS_ DWORD *pdwWork) PURE;
|
|
STDMETHOD_(HRESULT,SetWorkEstimate)(THIS_ DWORD dwWork) PURE;
|
|
|
|
END_INTERFACE
|
|
};
|
|
#ifdef COBJMACROS
|
|
#define ISyncChange_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
|
|
#define ISyncChange_AddRef(This) (This)->lpVtbl->AddRef(This)
|
|
#define ISyncChange_Release(This) (This)->lpVtbl->Release(This)
|
|
#define ISyncChange_GetChangeUnits(This,ppEnum) (This)->lpVtbl->GetChangeUnits(This,ppEnum)
|
|
#define ISyncChange_GetChangeVersion(This,pbCurrentReplicaId,pVersion) (This)->lpVtbl->GetChangeVersion(This,pbCurrentReplicaId,pVersion)
|
|
#define ISyncChange_GetCreationVersion(This,pbCurrentReplicaId,pVersion) (This)->lpVtbl->GetCreationVersion(This,pbCurrentReplicaId,pVersion)
|
|
#define ISyncChange_GetFlags(This,pdwFlags) (This)->lpVtbl->GetFlags(This,pdwFlags)
|
|
#define ISyncChange_GetLearnedKnowledge(This,ppMadeWithKnowledge) (This)->lpVtbl->GetLearnedKnowledge(This,ppMadeWithKnowledge)
|
|
#define ISyncChange_GetMadeWithKnowledge(This,ppMadeWithKnowledge) (This)->lpVtbl->GetMadeWithKnowledge(This,ppMadeWithKnowledge)
|
|
#define ISyncChange_GetOwnerReplicaId(This,pcbIdSize) (This)->lpVtbl->GetOwnerReplicaId(This,pcbIdSize)
|
|
#define ISyncChange_GetRootItemId(This,pcbIdSize) (This)->lpVtbl->GetRootItemId(This,pcbIdSize)
|
|
#define ISyncChange_GetWorkEstimate(This,pdwWork) (This)->lpVtbl->GetWorkEstimate(This,pdwWork)
|
|
#define ISyncChange_SetWorkEstimate(This,dwWork) (This)->lpVtbl->SetWorkEstimate(This,dwWork)
|
|
#endif /*COBJMACROS*/
|
|
|
|
#undef INTERFACE
|
|
#define INTERFACE ISyncChangeUnit
|
|
#ifdef __GNUC__
|
|
#warning COM interfaces layout in this header has not been verified.
|
|
#warning COM interfaces with incorrect layout may not work at all.
|
|
__MINGW_BROKEN_INTERFACE(INTERFACE)
|
|
#endif
|
|
DECLARE_INTERFACE_(ISyncChangeUnit,IUnknown)
|
|
{
|
|
BEGIN_INTERFACE
|
|
|
|
/* IUnknown methods */
|
|
STDMETHOD(QueryInterface)(THIS_ REFIID riid, void **ppvObject) PURE;
|
|
STDMETHOD_(ULONG, AddRef)(THIS) PURE;
|
|
STDMETHOD_(ULONG, Release)(THIS) PURE;
|
|
|
|
/* ISyncChangeUnit methods */
|
|
STDMETHOD_(HRESULT,GetChangeUnitId)(THIS_ DWORD *pcbIdSize) PURE;
|
|
STDMETHOD_(HRESULT,GetChangeUnitVersion)(THIS_ const BYTE *pbCurrentReplicaId,SYNC_VERSION *pVersion) PURE;
|
|
STDMETHOD_(HRESULT,GetItemChange)(THIS_ ISyncChange **ppSyncChange) PURE;
|
|
|
|
END_INTERFACE
|
|
};
|
|
#ifdef COBJMACROS
|
|
#define ISyncChangeUnit_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
|
|
#define ISyncChangeUnit_AddRef(This) (This)->lpVtbl->AddRef(This)
|
|
#define ISyncChangeUnit_Release(This) (This)->lpVtbl->Release(This)
|
|
#define ISyncChangeUnit_GetChangeUnitId(This,pcbIdSize) (This)->lpVtbl->GetChangeUnitId(This,pcbIdSize)
|
|
#define ISyncChangeUnit_GetChangeUnitVersion(This,pbCurrentReplicaId,pVersion) (This)->lpVtbl->GetChangeUnitVersion(This,pbCurrentReplicaId,pVersion)
|
|
#define ISyncChangeUnit_GetItemChange(This,ppSyncChange) (This)->lpVtbl->GetItemChange(This,ppSyncChange)
|
|
#endif /*COBJMACROS*/
|
|
|
|
#undef INTERFACE
|
|
#define INTERFACE IRecoverableErrorData
|
|
#ifdef __GNUC__
|
|
#warning COM interfaces layout in this header has not been verified.
|
|
#warning COM interfaces with incorrect layout may not work at all.
|
|
__MINGW_BROKEN_INTERFACE(INTERFACE)
|
|
#endif
|
|
DECLARE_INTERFACE_(IRecoverableErrorData,IUnknown)
|
|
{
|
|
BEGIN_INTERFACE
|
|
|
|
/* IUnknown methods */
|
|
STDMETHOD(QueryInterface)(THIS_ REFIID riid, void **ppvObject) PURE;
|
|
STDMETHOD_(ULONG, AddRef)(THIS) PURE;
|
|
STDMETHOD_(ULONG, Release)(THIS) PURE;
|
|
|
|
/* IRecoverableErrorData methods */
|
|
STDMETHOD_(HRESULT,GetErrorDescription)(THIS_ DWORD *pcchErrorDescription) PURE;
|
|
STDMETHOD_(HRESULT,GetItemDisplayName)(THIS_ DWORD *pcchItemDisplayName) PURE;
|
|
STDMETHOD_(HRESULT,Initialize)(THIS_ LPCWSTR pcszItemDisplayName,LPCWSTR pcszErrorDescription) PURE;
|
|
|
|
END_INTERFACE
|
|
};
|
|
#ifdef COBJMACROS
|
|
#define IRecoverableErrorData_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
|
|
#define IRecoverableErrorData_AddRef(This) (This)->lpVtbl->AddRef(This)
|
|
#define IRecoverableErrorData_Release(This) (This)->lpVtbl->Release(This)
|
|
#define IRecoverableErrorData_GetErrorDescription(This,pcchErrorDescription) (This)->lpVtbl->GetErrorDescription(This,pcchErrorDescription)
|
|
#define IRecoverableErrorData_GetItemDisplayName(This,pcchItemDisplayName) (This)->lpVtbl->GetItemDisplayName(This,pcchItemDisplayName)
|
|
#define IRecoverableErrorData_Initialize(This,pcszItemDisplayName,pcszErrorDescription) (This)->lpVtbl->Initialize(This,pcszItemDisplayName,pcszErrorDescription)
|
|
#endif /*COBJMACROS*/
|
|
|
|
#undef INTERFACE
|
|
#define INTERFACE IEnumSyncChangeUnits
|
|
#ifdef __GNUC__
|
|
#warning COM interfaces layout in this header has not been verified.
|
|
#warning COM interfaces with incorrect layout may not work at all.
|
|
__MINGW_BROKEN_INTERFACE(INTERFACE)
|
|
#endif
|
|
DECLARE_INTERFACE_(IEnumSyncChangeUnits,IUnknown)
|
|
{
|
|
BEGIN_INTERFACE
|
|
|
|
/* IUnknown methods */
|
|
STDMETHOD(QueryInterface)(THIS_ REFIID riid, void **ppvObject) PURE;
|
|
STDMETHOD_(ULONG, AddRef)(THIS) PURE;
|
|
STDMETHOD_(ULONG, Release)(THIS) PURE;
|
|
|
|
/* IEnumSyncChangeUnits methods */
|
|
STDMETHOD_(HRESULT,Clone)(THIS_ IEnumSyncChangeUnits **ppEnum) PURE;
|
|
STDMETHOD_(HRESULT,Next)(THIS_ ULONG cChanges,ISyncChangeUnit **ppChangeUnit,ULONG *pcFetched) PURE;
|
|
STDMETHOD_(HRESULT,Reset)(THIS) PURE;
|
|
STDMETHOD_(HRESULT,Skip)(THIS_ ULONG cChanges) PURE;
|
|
|
|
END_INTERFACE
|
|
};
|
|
#ifdef COBJMACROS
|
|
#define IEnumSyncChangeUnits_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
|
|
#define IEnumSyncChangeUnits_AddRef(This) (This)->lpVtbl->AddRef(This)
|
|
#define IEnumSyncChangeUnits_Release(This) (This)->lpVtbl->Release(This)
|
|
#define IEnumSyncChangeUnits_Clone(This,ppEnum) (This)->lpVtbl->Clone(This,ppEnum)
|
|
#define IEnumSyncChangeUnits_Next(This,cChanges,ppChangeUnit,pcFetched) (This)->lpVtbl->Next(This,cChanges,ppChangeUnit,pcFetched)
|
|
#define IEnumSyncChangeUnits_Reset() (This)->lpVtbl->Reset(This)
|
|
#define IEnumSyncChangeUnits_Skip(This,cChanges) (This)->lpVtbl->Skip(This,cChanges)
|
|
#endif /*COBJMACROS*/
|
|
|
|
#endif /*(_WIN32_WINNT >= 0x0601)*/
|
|
#endif /* __WINSYNC_H__ */
|