source: Daodan/MSYS2/mingw32/i686-w64-mingw32/include/winsync.h@ 1167

Last change on this file since 1167 was 1166, checked in by rossy, 3 years ago

Daodan: Replace MinGW build env with an up-to-date MSYS2 env

File size: 28.3 KB
RevLine 
[1166]1/**
2 * This file has no copyright assigned and is placed in the Public Domain.
3 * This file is part of the mingw-w64 runtime package.
4 * No warranty is given; refer to the file DISCLAIMER.PD within this package.
5 */
6#ifndef __WINSYNC_H__
7#define __WINSYNC_H__
8#include <objbase.h>
9
10#if (_WIN32_WINNT >= 0x0601)
11
12typedef enum _CONFLICT_RESOLUTION_POLICY {
13 CRP_NONE = 0,
14 CRP_DESTINATION_PROVIDER_WINS,
15 CRP_SOURCE_PROVIDER_WINS,
16 CRP_LAST
17} CONFLICT_RESOLUTION_POLICY;
18
19typedef enum _FILTERING_TYPE {
20 FT_CURRENT_ITEMS_ONLY = 0
21} FILTERING_TYPE;
22
23typedef enum _KNOWLEDGE_COOKIE_COMPARISON_RESULT {
24 KCCR_COOKIE_KNOWLEDGE_EQUAL = 0,
25 KCCR_COOKIE_KNOWLEDGE_CONTAINED,
26 KCCR_COOKIE_KNOWLEDGE_CONTAINS,
27 KCCR_COOKIE_KNOWLEDGE_NOT_COMPARABLE
28} KNOWLEDGE_COOKIE_COMPARISON_RESULT;
29
30typedef enum _SYNC_FULL_ENUMERATION_ACTION {
31 SFEA_FULL_ENUMERATION = 0,
32 SFEA_PARTIAL_SYNC,
33 SFEA_ABORT
34} SYNC_FULL_ENUMERATION_ACTION;
35
36typedef enum _SYNC_PROGRESS_STAGE {
37 SPS_CHANGE_DETECTION = 0,
38 SPS_CHANGE_ENUMERATION,
39 SPS_CHANGE_APPLICATION
40} SYNC_PROGRESS_STAGE;
41
42typedef enum _SYNC_PROVIDER_ROLE {
43 SPR_SOURCE = 0,
44 SPR_DESTINATION
45} SYNC_PROVIDER_ROLE;
46
47typedef enum _SYNC_RESOLVE_ACTION {
48 SRA_DEFER = 0,
49 SRA_ACCEPT_DESTINATION_PROVIDER,
50 SRA_ACCEPT_SOURCE_PROVIDER,
51 SRA_MERGE,
52 SRA_TRANSFER_AND_DEFER,
53 SRA_LAST
54} SYNC_RESOLVE_ACTION;
55
56typedef enum _SYNC_SERIALIZATION_VERSION {
57 SYNC_SERIALIZATION_VERSION_V1 = 0,
58 SYNC_SERIALIZATION_VERSION_V2
59} SYNC_SERIALIZATION_VERSION;
60
61typedef enum _SYNC_STATISTICS {
62 SYNC_STATISTICS_RANGE_COUNT = 0
63} SYNC_STATISTICS;
64
65typedef struct _ID_PARAMETER_PAIR {
66 WINBOOL fIsVariable;
67 USHORT cbIdSize;
68} ID_PARAMETER_PAIR;
69
70typedef struct _ID_PARAMETERS {
71 DWORD dwSize;
72 ID_PARAMETER_PAIR replicaId;
73 ID_PARAMETER_PAIR itemId;
74 ID_PARAMETER_PAIR changeUnitId;
75} ID_PARAMETERS;
76
77typedef struct _SYNC_RANGE {
78 BYTE * pbClosedLowerBound;
79 BYTE * pbClosedUpperBound;
80} SYNC_RANGE;
81
82typedef struct _SYNC_SESSION_STATISTICS {
83 DWORD dwChangesApplied;
84 DWORD dwChangesFailed;
85} SYNC_SESSION_STATISTICS;
86
87typedef struct _SYNC_TIME {
88 DWORD dwDate;
89 DWORD dwTime;
90} SYNC_TIME;
91
92typedef struct _SYNC_VERSION {
93 DWORD dwLastUpdatingReplicaKey;
94 ULONGLONG ullTickCount;
95} SYNC_VERSION;
96
97#ifndef __IAsynchronousDataRetriever_FWD_DEFINED__
98#define __IAsynchronousDataRetriever_FWD_DEFINED__
99typedef struct IAssociatedIdentityProvider IAssociatedIdentityProvider;
100#endif
101
102#ifndef __IDataRetrieverCallback_FWD_DEFINED__
103#define __IDataRetrieverCallback_FWD_DEFINED__
104typedef struct IDataRetrieverCallback IDataRetrieverCallback;
105#endif
106
107#ifndef __IChangeConflict_FWD_DEFINED__
108#define __IChangeConflict_FWD_DEFINED__
109typedef struct IChangeConflict IChangeConflict;
110#endif
111
112#ifndef __IChangeUnitException_FWD_DEFINED__
113#define __IChangeUnitException_FWD_DEFINED__
114typedef struct IChangeUnitException IChangeUnitException;
115#endif
116
117#ifndef __IChangeUnitListFilterInfo_FWD_DEFINED__
118#define __IChangeUnitListFilterInfo_FWD_DEFINED__
119typedef struct IChangeUnitListFilterInfo IChangeUnitListFilterInfo;
120#endif
121
122#ifndef __ISyncFilterInfo_FWD_DEFINED__
123#define __ISyncFilterInfo_FWD_DEFINED__
124typedef struct ISyncFilterInfo ISyncFilterInfo;
125#endif
126
127#ifndef __IClockVector_FWD_DEFINED__
128#define __IClockVector_FWD_DEFINED__
129typedef struct IClockVector IClockVector;
130#endif
131
132#ifndef __IClockVectorElement_FWD_DEFINED__
133#define __IClockVectorElement_FWD_DEFINED__
134typedef struct IClockVectorElement IClockVectorElement;
135#endif
136
137#ifndef __IConstructReplicaKeyMap_FWD_DEFINED__
138#define __IConstructReplicaKeyMap_FWD_DEFINED__
139typedef struct IConstructReplicaKeyMap IConstructReplicaKeyMap;
140#endif
141
142#ifndef __ICoreFragment_FWD_DEFINED__
143#define __ICoreFragment_FWD_DEFINED__
144typedef struct ICoreFragment ICoreFragment;
145#endif
146
147#ifndef __ILoadChangeContext_FWD_DEFINED__
148#define __ILoadChangeContext_FWD_DEFINED__
149typedef struct ILoadChangeContext ILoadChangeContext;
150#endif
151
152#ifndef __ISyncChange_FWD_DEFINED__
153#define __ISyncChange_FWD_DEFINED__
154typedef struct ISyncChange ISyncChange;
155#endif
156
157#ifndef __ISyncChangeUnit_FWD_DEFINED__
158#define __ISyncChangeUnit_FWD_DEFINED__
159typedef struct ISyncChangeUnit ISyncChangeUnit;
160#endif
161
162#ifndef __IRecoverableErrorData_FWD_DEFINED__
163#define __IRecoverableErrorData_FWD_DEFINED__
164typedef struct IRecoverableErrorData IRecoverableErrorData;
165#endif
166
167#ifndef __IEnumSyncChangeUnits_FWD_DEFINED__
168#define __IEnumSyncChangeUnits_FWD_DEFINED__
169typedef struct IEnumSyncChangeUnits IEnumSyncChangeUnits;
170#endif
171
172/* Fixme: ISyncKnowledge method list is missing from MSDN */
173#ifndef __ISyncKnowledge_FWD_DEFINED__
174#define __ISyncKnowledge_FWD_DEFINED__
175typedef struct ISyncKnowledge ISyncKnowledge;
176#endif
177
178#undef INTERFACE
179#define INTERFACE IAsynchronousDataRetriever
180#ifdef __GNUC__
181#warning COM interfaces layout in this header has not been verified.
182#warning COM interfaces with incorrect layout may not work at all.
183__MINGW_BROKEN_INTERFACE(INTERFACE)
184#endif
185DECLARE_INTERFACE_(IAsynchronousDataRetriever,IUnknown)
186{
187 BEGIN_INTERFACE
188
189 /* IUnknown methods */
190 STDMETHOD(QueryInterface)(THIS_ REFIID riid, void **ppvObject) PURE;
191 STDMETHOD_(ULONG, AddRef)(THIS) PURE;
192 STDMETHOD_(ULONG, Release)(THIS) PURE;
193
194 /* IAsynchronousDataRetriever methods */
195 STDMETHOD_(HRESULT,GetIdParameters)(THIS_ ID_PARAMETERS *pIdParameters) PURE;
196 STDMETHOD_(HRESULT,LoadChangeData)(THIS_ ILoadChangeContext *pLoadChangeContext) PURE;
197 STDMETHOD_(HRESULT,RegisterCallback)(THIS_ IDataRetrieverCallback *pDataRetrieverCallback) PURE;
198 STDMETHOD_(HRESULT,RevokeCallback)(THIS_ IDataRetrieverCallback *pDataRetrieverCallback) PURE;
199
200 END_INTERFACE
201};
202#ifdef COBJMACROS
203#define IAsynchronousDataRetriever_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
204#define IAsynchronousDataRetriever_AddRef(This) (This)->lpVtbl->AddRef(This)
205#define IAsynchronousDataRetriever_Release(This) (This)->lpVtbl->Release(This)
206#define IAsynchronousDataRetriever_GetIdParameters(This,pIdParameters) (This)->lpVtbl->GetIdParameters(This,pIdParameters)
207#define IAsynchronousDataRetriever_LoadChangeData(This,pLoadChangeContext) (This)->lpVtbl->LoadChangeData(This,pLoadChangeContext)
208#define IAsynchronousDataRetriever_RegisterCallback(This,pDataRetrieverCallback) (This)->lpVtbl->RegisterCallback(This,pDataRetrieverCallback)
209#define IAsynchronousDataRetriever_RevokeCallback(This,pDataRetrieverCallback) (This)->lpVtbl->RevokeCallback(This,pDataRetrieverCallback)
210#endif /*COBJMACROS*/
211
212#undef INTERFACE
213#define INTERFACE IDataRetrieverCallback
214#ifdef __GNUC__
215#warning COM interfaces layout in this header has not been verified.
216#warning COM interfaces with incorrect layout may not work at all.
217__MINGW_BROKEN_INTERFACE(INTERFACE)
218#endif
219DECLARE_INTERFACE_(IDataRetrieverCallback,IUnknown)
220{
221 BEGIN_INTERFACE
222
223 /* IUnknown methods */
224 STDMETHOD(QueryInterface)(THIS_ REFIID riid, void **ppvObject) PURE;
225 STDMETHOD_(ULONG, AddRef)(THIS) PURE;
226 STDMETHOD_(ULONG, Release)(THIS) PURE;
227
228 /* IDataRetrieverCallback methods */
229 STDMETHOD_(HRESULT,LoadChangeDataComplete)(THIS_ IUnknown *pUnkData) PURE;
230 STDMETHOD_(HRESULT,LoadChangeDataError)(THIS_ HRESULT hrError) PURE;
231
232 END_INTERFACE
233};
234#ifdef COBJMACROS
235#define IDataRetrieverCallback_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
236#define IDataRetrieverCallback_AddRef(This) (This)->lpVtbl->AddRef(This)
237#define IDataRetrieverCallback_Release(This) (This)->lpVtbl->Release(This)
238#define IDataRetrieverCallback_LoadChangeDataComplete(This,pUnkData) (This)->lpVtbl->LoadChangeDataComplete(This,pUnkData)
239#define IDataRetrieverCallback_LoadChangeDataError(This,hrError) (This)->lpVtbl->LoadChangeDataError(This,hrError)
240#endif /*COBJMACROS*/
241
242#undef INTERFACE
243#define INTERFACE IChangeConflict
244#ifdef __GNUC__
245#warning COM interfaces layout in this header has not been verified.
246#warning COM interfaces with incorrect layout may not work at all.
247__MINGW_BROKEN_INTERFACE(INTERFACE)
248#endif
249DECLARE_INTERFACE_(IChangeConflict,IUnknown)
250{
251 BEGIN_INTERFACE
252
253 /* IUnknown methods */
254 STDMETHOD(QueryInterface)(THIS_ REFIID riid, void **ppvObject) PURE;
255 STDMETHOD_(ULONG, AddRef)(THIS) PURE;
256 STDMETHOD_(ULONG, Release)(THIS) PURE;
257
258 /* IChangeConflict methods */
259 STDMETHOD_(HRESULT,GetDestinationProviderConflictingChange)(THIS_ ISyncChange **ppConflictingChange) PURE;
260 STDMETHOD_(HRESULT,GetDestinationProviderConflictingData)(THIS_ IUnknown **ppConflictingData) PURE;
261 STDMETHOD_(HRESULT,GetResolveActionForChange)(THIS_ SYNC_RESOLVE_ACTION *pResolveAction) PURE;
262 STDMETHOD_(HRESULT,GetResolveActionForChangeUnit)(THIS_ ISyncChangeUnit *pChangeUnit,SYNC_RESOLVE_ACTION *pResolveAction) PURE;
263 STDMETHOD_(HRESULT,GetSourceProviderConflictingChange)(THIS_ ISyncChange **ppSyncChange) PURE;
264 STDMETHOD_(HRESULT,GetSourceProviderConflictingData)(THIS_ IUnknown **ppConflictingData) PURE;
265 STDMETHOD_(HRESULT,SetResolveActionForChange)(THIS_ SYNC_RESOLVE_ACTION resolveAction) PURE;
266 STDMETHOD_(HRESULT,SetResolveActionForChangeUnit)(THIS_ ISyncChangeUnit *pChangeUnit,SYNC_RESOLVE_ACTION resolveAction) PURE;
267
268 END_INTERFACE
269};
270#ifdef COBJMACROS
271#define IChangeConflict_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
272#define IChangeConflict_AddRef(This) (This)->lpVtbl->AddRef(This)
273#define IChangeConflict_Release(This) (This)->lpVtbl->Release(This)
274#define IChangeConflict_GetDestinationProviderConflictingChange(This,ppConflictingChange) (This)->lpVtbl->GetDestinationProviderConflictingChange(This,ppConflictingChange)
275#define IChangeConflict_GetDestinationProviderConflictingData(This,ppConflictingData) (This)->lpVtbl->GetDestinationProviderConflictingData(This,ppConflictingData)
276#define IChangeConflict_GetResolveActionForChange(This,pResolveAction) (This)->lpVtbl->GetResolveActionForChange(This,pResolveAction)
277#define IChangeConflict_GetResolveActionForChangeUnit(This,pChangeUnit,pResolveAction) (This)->lpVtbl->GetResolveActionForChangeUnit(This,pChangeUnit,pResolveAction)
278#define IChangeConflict_GetSourceProviderConflictingChange(This,ppSyncChange) (This)->lpVtbl->GetSourceProviderConflictingChange(This,ppSyncChange)
279#define IChangeConflict_GetSourceProviderConflictingData(This,ppConflictingData) (This)->lpVtbl->GetSourceProviderConflictingData(This,ppConflictingData)
280#define IChangeConflict_SetResolveActionForChange(This,resolveAction) (This)->lpVtbl->SetResolveActionForChange(This,resolveAction)
281#define IChangeConflict_SetResolveActionForChangeUnit(This,pChangeUnit,resolveAction) (This)->lpVtbl->SetResolveActionForChangeUnit(This,pChangeUnit,resolveAction)
282#endif /*COBJMACROS*/
283
284#undef INTERFACE
285#define INTERFACE IChangeUnitException
286#ifdef __GNUC__
287#warning COM interfaces layout in this header has not been verified.
288#warning COM interfaces with incorrect layout may not work at all.
289__MINGW_BROKEN_INTERFACE(INTERFACE)
290#endif
291DECLARE_INTERFACE_(IChangeUnitException,IUnknown)
292{
293 BEGIN_INTERFACE
294
295 /* IUnknown methods */
296 STDMETHOD(QueryInterface)(THIS_ REFIID riid, void **ppvObject) PURE;
297 STDMETHOD_(ULONG, AddRef)(THIS) PURE;
298 STDMETHOD_(ULONG, Release)(THIS) PURE;
299
300 /* IChangeUnitException methods */
301 STDMETHOD_(HRESULT,GetChangeUnitId)(THIS_ DWORD *pcbIdSize) PURE;
302 STDMETHOD_(HRESULT,GetClockVector)(THIS_ REFIID riid,void **ppUnk) PURE;
303 STDMETHOD_(HRESULT,GetItemId)(THIS_ DWORD *pcbIdSize) PURE;
304
305 END_INTERFACE
306};
307#ifdef COBJMACROS
308#define IChangeUnitException_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
309#define IChangeUnitException_AddRef(This) (This)->lpVtbl->AddRef(This)
310#define IChangeUnitException_Release(This) (This)->lpVtbl->Release(This)
311#define IChangeUnitException_GetChangeUnitId(This,pcbIdSize) (This)->lpVtbl->GetChangeUnitId(This,pcbIdSize)
312#define IChangeUnitException_GetClockVector(This,riid,ppUnk) (This)->lpVtbl->GetClockVector(This,riid,ppUnk)
313#define IChangeUnitException_GetItemId(This,pcbIdSize) (This)->lpVtbl->GetItemId(This,pcbIdSize)
314#endif /*COBJMACROS*/
315
316#undef INTERFACE
317#define INTERFACE ISyncFilterInfo
318DECLARE_INTERFACE_(ISyncFilterInfo,IUnknown)
319{
320 BEGIN_INTERFACE
321
322 /* IUnknown methods */
323 STDMETHOD(QueryInterface)(THIS_ REFIID riid, void **ppvObject) PURE;
324 STDMETHOD_(ULONG, AddRef)(THIS) PURE;
325 STDMETHOD_(ULONG, Release)(THIS) PURE;
326
327 /* ISyncFilterInfo methods */
328 STDMETHOD_(HRESULT,Serialize)(THIS_ DWORD *pcbBuffer) PURE;
329
330 END_INTERFACE
331};
332#ifdef COBJMACROS
333#define ISyncFilterInfo_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
334#define ISyncFilterInfo_AddRef(This) (This)->lpVtbl->AddRef(This)
335#define ISyncFilterInfo_Release(This) (This)->lpVtbl->Release(This)
336#define ISyncFilterInfo_Serialize(This,pcbBuffer) (This)->lpVtbl->Serialize(This,pcbBuffer)
337#endif /*COBJMACROS*/
338
339#undef INTERFACE
340#define INTERFACE IChangeUnitListFilterInfo
341#ifdef __GNUC__
342#warning COM interfaces layout in this header has not been verified.
343#warning COM interfaces with incorrect layout may not work at all.
344__MINGW_BROKEN_INTERFACE(INTERFACE)
345#endif
346DECLARE_INTERFACE_(IChangeUnitListFilterInfo,ISyncFilterInfo)
347{
348 BEGIN_INTERFACE
349
350 /* IUnknown methods */
351 STDMETHOD(QueryInterface)(THIS_ REFIID riid, void **ppvObject) PURE;
352 STDMETHOD_(ULONG, AddRef)(THIS) PURE;
353 STDMETHOD_(ULONG, Release)(THIS) PURE;
354
355 /* ISyncFilterInfo methods */
356 STDMETHOD_(HRESULT,Serialize)(THIS_ DWORD *pcbBuffer) PURE;
357
358 /* IChangeUnitListFilterInfo methods */
359 STDMETHOD_(HRESULT,GetChangeUnitId)(THIS_ DWORD dwChangeUnitIdIndex,DWORD *pcbIdSize) PURE;
360 STDMETHOD_(HRESULT,GetChangeUnitIdCount)(THIS_ DWORD *pdwChangeUnitIdCount) PURE;
361 STDMETHOD_(HRESULT,Initialize)(THIS_ const BYTE * const *ppbChangeUnitIds,DWORD dwChangeUnitCount) PURE;
362
363 END_INTERFACE
364};
365#ifdef COBJMACROS
366#define IChangeUnitListFilterInfo_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
367#define IChangeUnitListFilterInfo_AddRef(This) (This)->lpVtbl->AddRef(This)
368#define IChangeUnitListFilterInfo_Release(This) (This)->lpVtbl->Release(This)
369#define IChangeUnitListFilterInfo_Serialize(This,pcbBuffer) (This)->lpVtbl->Serialize(This,pcbBuffer)
370#define IChangeUnitListFilterInfo_GetChangeUnitId(This,dwChangeUnitIdIndex,pcbIdSize) (This)->lpVtbl->GetChangeUnitId(This,dwChangeUnitIdIndex,pcbIdSize)
371#define IChangeUnitListFilterInfo_GetChangeUnitIdCount(This,pdwChangeUnitIdCount) (This)->lpVtbl->GetChangeUnitIdCount(This,pdwChangeUnitIdCount)
372#define IChangeUnitListFilterInfo_Initialize(This,ppbChangeUnitIds,dwChangeUnitCount) (This)->lpVtbl->Initialize(This,ppbChangeUnitIds,dwChangeUnitCount)
373#endif /*COBJMACROS*/
374
375#undef INTERFACE
376#define INTERFACE IClockVector
377#ifdef __GNUC__
378#warning COM interfaces layout in this header has not been verified.
379#warning COM interfaces with incorrect layout may not work at all.
380__MINGW_BROKEN_INTERFACE(INTERFACE)
381#endif
382DECLARE_INTERFACE_(IClockVector,IUnknown)
383{
384 BEGIN_INTERFACE
385
386 /* IUnknown methods */
387 STDMETHOD(QueryInterface)(THIS_ REFIID riid, void **ppvObject) PURE;
388 STDMETHOD_(ULONG, AddRef)(THIS) PURE;
389 STDMETHOD_(ULONG, Release)(THIS) PURE;
390
391 /* IClockVector methods */
392 STDMETHOD_(HRESULT,GetClockVectorElementCount)(THIS_ DWORD *pdwCount) PURE;
393 STDMETHOD_(HRESULT,GetClockVectorElements)(THIS_ REFIID riid,void **ppiEnumClockVector) PURE;
394
395 END_INTERFACE
396};
397#ifdef COBJMACROS
398#define IClockVector_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
399#define IClockVector_AddRef(This) (This)->lpVtbl->AddRef(This)
400#define IClockVector_Release(This) (This)->lpVtbl->Release(This)
401#define IClockVector_GetClockVectorElementCount(This,pdwCount) (This)->lpVtbl->GetClockVectorElementCount(This,pdwCount)
402#define IClockVector_GetClockVectorElements(This,riid,ppiEnumClockVector) (This)->lpVtbl->GetClockVectorElements(This,riid,ppiEnumClockVector)
403#endif /*COBJMACROS*/
404
405#undef INTERFACE
406#define INTERFACE IClockVectorElement
407#ifdef __GNUC__
408#warning COM interfaces layout in this header has not been verified.
409#warning COM interfaces with incorrect layout may not work at all.
410__MINGW_BROKEN_INTERFACE(INTERFACE)
411#endif
412DECLARE_INTERFACE_(IClockVectorElement,IUnknown)
413{
414 BEGIN_INTERFACE
415
416 /* IUnknown methods */
417 STDMETHOD(QueryInterface)(THIS_ REFIID riid, void **ppvObject) PURE;
418 STDMETHOD_(ULONG, AddRef)(THIS) PURE;
419 STDMETHOD_(ULONG, Release)(THIS) PURE;
420
421 /* IClockVectorElement methods */
422 STDMETHOD_(HRESULT,GetReplicaKey)(THIS_ DWORD *pdwReplicaKey) PURE;
423 STDMETHOD_(HRESULT,GetTickCount)(THIS_ ULONGLONG *pullTickCount) PURE;
424
425 END_INTERFACE
426};
427#ifdef COBJMACROS
428#define IClockVectorElement_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
429#define IClockVectorElement_AddRef(This) (This)->lpVtbl->AddRef(This)
430#define IClockVectorElement_Release(This) (This)->lpVtbl->Release(This)
431#define IClockVectorElement_GetReplicaKey(This,pdwReplicaKey) (This)->lpVtbl->GetReplicaKey(This,pdwReplicaKey)
432#define IClockVectorElement_GetTickCount(This,pullTickCount) (This)->lpVtbl->GetTickCount(This,pullTickCount)
433#endif /*COBJMACROS*/
434
435#undef INTERFACE
436#define INTERFACE IConstructReplicaKeyMap
437DECLARE_INTERFACE_(IConstructReplicaKeyMap,IUnknown)
438{
439 BEGIN_INTERFACE
440
441 /* IUnknown methods */
442 STDMETHOD(QueryInterface)(THIS_ REFIID riid, void **ppvObject) PURE;
443 STDMETHOD_(ULONG, AddRef)(THIS) PURE;
444 STDMETHOD_(ULONG, Release)(THIS) PURE;
445
446 /* IConstructReplicaKeyMap methods */
447 STDMETHOD_(HRESULT,FindOrAddReplica)(THIS_ BYTE *pbReplicaId,DWORD *pdwReplicaKey) PURE;
448
449 END_INTERFACE
450};
451#ifdef COBJMACROS
452#define IConstructReplicaKeyMap_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
453#define IConstructReplicaKeyMap_AddRef(This) (This)->lpVtbl->AddRef(This)
454#define IConstructReplicaKeyMap_Release(This) (This)->lpVtbl->Release(This)
455#define IConstructReplicaKeyMap_FindOrAddReplica(This,pbReplicaId,pdwReplicaKey) (This)->lpVtbl->FindOrAddReplica(This,pbReplicaId,pdwReplicaKey)
456#endif /*COBJMACROS*/
457
458#undef INTERFACE
459#define INTERFACE ICoreFragment
460#ifdef __GNUC__
461#warning COM interfaces layout in this header has not been verified.
462#warning COM interfaces with incorrect layout may not work at all.
463__MINGW_BROKEN_INTERFACE(INTERFACE)
464#endif
465DECLARE_INTERFACE_(ICoreFragment,IUnknown)
466{
467 BEGIN_INTERFACE
468
469 /* IUnknown methods */
470 STDMETHOD(QueryInterface)(THIS_ REFIID riid, void **ppvObject) PURE;
471 STDMETHOD_(ULONG, AddRef)(THIS) PURE;
472 STDMETHOD_(ULONG, Release)(THIS) PURE;
473
474 /* ICoreFragment methods */
475 STDMETHOD_(HRESULT,GetColumnCount)(THIS_ DWORD *pColumnCount) PURE;
476 STDMETHOD_(HRESULT,GetRangeCount)(THIS_ DWORD *pRangeCount) PURE;
477 STDMETHOD_(HRESULT,NextColumn)(THIS_ DWORD *pChangeUnitIdSize) PURE;
478 STDMETHOD_(HRESULT,NextRange)(THIS_ DWORD *pItemIdSize,IClockVector **piClockVector) PURE;
479 STDMETHOD_(HRESULT,Reset)(THIS) PURE;
480
481 END_INTERFACE
482};
483#ifdef COBJMACROS
484#define ICoreFragment_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
485#define ICoreFragment_AddRef(This) (This)->lpVtbl->AddRef(This)
486#define ICoreFragment_Release(This) (This)->lpVtbl->Release(This)
487#define ICoreFragment_GetColumnCount(This,pColumnCount) (This)->lpVtbl->GetColumnCount(This,pColumnCount)
488#define ICoreFragment_GetRangeCount(This,pRangeCount) (This)->lpVtbl->GetRangeCount(This,pRangeCount)
489#define ICoreFragment_NextColumn(This,pChangeUnitIdSize) (This)->lpVtbl->NextColumn(This,pChangeUnitIdSize)
490#define ICoreFragment_NextRange(This,pItemIdSize,piClockVector) (This)->lpVtbl->NextRange(This,pItemIdSize,piClockVector)
491#define ICoreFragment_Reset() (This)->lpVtbl->Reset(This)
492#endif /*COBJMACROS*/
493
494#undef INTERFACE
495#define INTERFACE ILoadChangeContext
496#ifdef __GNUC__
497#warning COM interfaces layout in this header has not been verified.
498#warning COM interfaces with incorrect layout may not work at all.
499__MINGW_BROKEN_INTERFACE(INTERFACE)
500#endif
501DECLARE_INTERFACE_(ILoadChangeContext,IUnknown)
502{
503 BEGIN_INTERFACE
504
505 /* IUnknown methods */
506 STDMETHOD(QueryInterface)(THIS_ REFIID riid, void **ppvObject) PURE;
507 STDMETHOD_(ULONG, AddRef)(THIS) PURE;
508 STDMETHOD_(ULONG, Release)(THIS) PURE;
509
510 /* ILoadChangeContext methods */
511 STDMETHOD_(HRESULT,GetSyncChange)(THIS_ ISyncChange **ppSyncChange) PURE;
512 STDMETHOD_(HRESULT,SetRecoverableErrorOnChange)(THIS_ HRESULT hrError,IRecoverableErrorData *pErrorData) PURE;
513 STDMETHOD_(HRESULT,SetRecoverableErrorOnChangeUnit)(THIS_ HRESULT hrError,ISyncChangeUnit *pChangeUnit,IRecoverableErrorData *pErrorData) PURE;
514
515 END_INTERFACE
516};
517#ifdef COBJMACROS
518#define ILoadChangeContext_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
519#define ILoadChangeContext_AddRef(This) (This)->lpVtbl->AddRef(This)
520#define ILoadChangeContext_Release(This) (This)->lpVtbl->Release(This)
521#define ILoadChangeContext_GetSyncChange(This,ppSyncChange) (This)->lpVtbl->GetSyncChange(This,ppSyncChange)
522#define ILoadChangeContext_SetRecoverableErrorOnChange(This,hrError,pErrorData) (This)->lpVtbl->SetRecoverableErrorOnChange(This,hrError,pErrorData)
523#define ILoadChangeContext_SetRecoverableErrorOnChangeUnit(This,hrError,pChangeUnit,pErrorData) (This)->lpVtbl->SetRecoverableErrorOnChangeUnit(This,hrError,pChangeUnit,pErrorData)
524#endif /*COBJMACROS*/
525
526#undef INTERFACE
527#define INTERFACE ISyncChange
528#ifdef __GNUC__
529#warning COM interfaces layout in this header has not been verified.
530#warning COM interfaces with incorrect layout may not work at all.
531__MINGW_BROKEN_INTERFACE(INTERFACE)
532#endif
533DECLARE_INTERFACE_(ISyncChange,IUnknown)
534{
535 BEGIN_INTERFACE
536
537 /* IUnknown methods */
538 STDMETHOD(QueryInterface)(THIS_ REFIID riid, void **ppvObject) PURE;
539 STDMETHOD_(ULONG, AddRef)(THIS) PURE;
540 STDMETHOD_(ULONG, Release)(THIS) PURE;
541
542 /* ISyncChange methods */
543 STDMETHOD_(HRESULT,GetChangeUnits)(THIS_ IEnumSyncChangeUnits **ppEnum) PURE;
544 STDMETHOD_(HRESULT,GetChangeVersion)(THIS_ const BYTE *pbCurrentReplicaId,SYNC_VERSION *pVersion) PURE;
545 STDMETHOD_(HRESULT,GetCreationVersion)(THIS_ const BYTE *pbCurrentReplicaId,SYNC_VERSION *pVersion) PURE;
546 STDMETHOD_(HRESULT,GetFlags)(THIS_ DWORD *pdwFlags) PURE;
547 STDMETHOD_(HRESULT,GetLearnedKnowledge)(THIS_ ISyncKnowledge **ppMadeWithKnowledge) PURE;
548 STDMETHOD_(HRESULT,GetMadeWithKnowledge)(THIS_ ISyncKnowledge **ppMadeWithKnowledge) PURE;
549 STDMETHOD_(HRESULT,GetOwnerReplicaId)(THIS_ DWORD *pcbIdSize) PURE;
550 STDMETHOD_(HRESULT,GetRootItemId)(THIS_ DWORD *pcbIdSize) PURE;
551 STDMETHOD_(HRESULT,GetWorkEstimate)(THIS_ DWORD *pdwWork) PURE;
552 STDMETHOD_(HRESULT,SetWorkEstimate)(THIS_ DWORD dwWork) PURE;
553
554 END_INTERFACE
555};
556#ifdef COBJMACROS
557#define ISyncChange_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
558#define ISyncChange_AddRef(This) (This)->lpVtbl->AddRef(This)
559#define ISyncChange_Release(This) (This)->lpVtbl->Release(This)
560#define ISyncChange_GetChangeUnits(This,ppEnum) (This)->lpVtbl->GetChangeUnits(This,ppEnum)
561#define ISyncChange_GetChangeVersion(This,pbCurrentReplicaId,pVersion) (This)->lpVtbl->GetChangeVersion(This,pbCurrentReplicaId,pVersion)
562#define ISyncChange_GetCreationVersion(This,pbCurrentReplicaId,pVersion) (This)->lpVtbl->GetCreationVersion(This,pbCurrentReplicaId,pVersion)
563#define ISyncChange_GetFlags(This,pdwFlags) (This)->lpVtbl->GetFlags(This,pdwFlags)
564#define ISyncChange_GetLearnedKnowledge(This,ppMadeWithKnowledge) (This)->lpVtbl->GetLearnedKnowledge(This,ppMadeWithKnowledge)
565#define ISyncChange_GetMadeWithKnowledge(This,ppMadeWithKnowledge) (This)->lpVtbl->GetMadeWithKnowledge(This,ppMadeWithKnowledge)
566#define ISyncChange_GetOwnerReplicaId(This,pcbIdSize) (This)->lpVtbl->GetOwnerReplicaId(This,pcbIdSize)
567#define ISyncChange_GetRootItemId(This,pcbIdSize) (This)->lpVtbl->GetRootItemId(This,pcbIdSize)
568#define ISyncChange_GetWorkEstimate(This,pdwWork) (This)->lpVtbl->GetWorkEstimate(This,pdwWork)
569#define ISyncChange_SetWorkEstimate(This,dwWork) (This)->lpVtbl->SetWorkEstimate(This,dwWork)
570#endif /*COBJMACROS*/
571
572#undef INTERFACE
573#define INTERFACE ISyncChangeUnit
574#ifdef __GNUC__
575#warning COM interfaces layout in this header has not been verified.
576#warning COM interfaces with incorrect layout may not work at all.
577__MINGW_BROKEN_INTERFACE(INTERFACE)
578#endif
579DECLARE_INTERFACE_(ISyncChangeUnit,IUnknown)
580{
581 BEGIN_INTERFACE
582
583 /* IUnknown methods */
584 STDMETHOD(QueryInterface)(THIS_ REFIID riid, void **ppvObject) PURE;
585 STDMETHOD_(ULONG, AddRef)(THIS) PURE;
586 STDMETHOD_(ULONG, Release)(THIS) PURE;
587
588 /* ISyncChangeUnit methods */
589 STDMETHOD_(HRESULT,GetChangeUnitId)(THIS_ DWORD *pcbIdSize) PURE;
590 STDMETHOD_(HRESULT,GetChangeUnitVersion)(THIS_ const BYTE *pbCurrentReplicaId,SYNC_VERSION *pVersion) PURE;
591 STDMETHOD_(HRESULT,GetItemChange)(THIS_ ISyncChange **ppSyncChange) PURE;
592
593 END_INTERFACE
594};
595#ifdef COBJMACROS
596#define ISyncChangeUnit_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
597#define ISyncChangeUnit_AddRef(This) (This)->lpVtbl->AddRef(This)
598#define ISyncChangeUnit_Release(This) (This)->lpVtbl->Release(This)
599#define ISyncChangeUnit_GetChangeUnitId(This,pcbIdSize) (This)->lpVtbl->GetChangeUnitId(This,pcbIdSize)
600#define ISyncChangeUnit_GetChangeUnitVersion(This,pbCurrentReplicaId,pVersion) (This)->lpVtbl->GetChangeUnitVersion(This,pbCurrentReplicaId,pVersion)
601#define ISyncChangeUnit_GetItemChange(This,ppSyncChange) (This)->lpVtbl->GetItemChange(This,ppSyncChange)
602#endif /*COBJMACROS*/
603
604#undef INTERFACE
605#define INTERFACE IRecoverableErrorData
606#ifdef __GNUC__
607#warning COM interfaces layout in this header has not been verified.
608#warning COM interfaces with incorrect layout may not work at all.
609__MINGW_BROKEN_INTERFACE(INTERFACE)
610#endif
611DECLARE_INTERFACE_(IRecoverableErrorData,IUnknown)
612{
613 BEGIN_INTERFACE
614
615 /* IUnknown methods */
616 STDMETHOD(QueryInterface)(THIS_ REFIID riid, void **ppvObject) PURE;
617 STDMETHOD_(ULONG, AddRef)(THIS) PURE;
618 STDMETHOD_(ULONG, Release)(THIS) PURE;
619
620 /* IRecoverableErrorData methods */
621 STDMETHOD_(HRESULT,GetErrorDescription)(THIS_ DWORD *pcchErrorDescription) PURE;
622 STDMETHOD_(HRESULT,GetItemDisplayName)(THIS_ DWORD *pcchItemDisplayName) PURE;
623 STDMETHOD_(HRESULT,Initialize)(THIS_ LPCWSTR pcszItemDisplayName,LPCWSTR pcszErrorDescription) PURE;
624
625 END_INTERFACE
626};
627#ifdef COBJMACROS
628#define IRecoverableErrorData_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
629#define IRecoverableErrorData_AddRef(This) (This)->lpVtbl->AddRef(This)
630#define IRecoverableErrorData_Release(This) (This)->lpVtbl->Release(This)
631#define IRecoverableErrorData_GetErrorDescription(This,pcchErrorDescription) (This)->lpVtbl->GetErrorDescription(This,pcchErrorDescription)
632#define IRecoverableErrorData_GetItemDisplayName(This,pcchItemDisplayName) (This)->lpVtbl->GetItemDisplayName(This,pcchItemDisplayName)
633#define IRecoverableErrorData_Initialize(This,pcszItemDisplayName,pcszErrorDescription) (This)->lpVtbl->Initialize(This,pcszItemDisplayName,pcszErrorDescription)
634#endif /*COBJMACROS*/
635
636#undef INTERFACE
637#define INTERFACE IEnumSyncChangeUnits
638#ifdef __GNUC__
639#warning COM interfaces layout in this header has not been verified.
640#warning COM interfaces with incorrect layout may not work at all.
641__MINGW_BROKEN_INTERFACE(INTERFACE)
642#endif
643DECLARE_INTERFACE_(IEnumSyncChangeUnits,IUnknown)
644{
645 BEGIN_INTERFACE
646
647 /* IUnknown methods */
648 STDMETHOD(QueryInterface)(THIS_ REFIID riid, void **ppvObject) PURE;
649 STDMETHOD_(ULONG, AddRef)(THIS) PURE;
650 STDMETHOD_(ULONG, Release)(THIS) PURE;
651
652 /* IEnumSyncChangeUnits methods */
653 STDMETHOD_(HRESULT,Clone)(THIS_ IEnumSyncChangeUnits **ppEnum) PURE;
654 STDMETHOD_(HRESULT,Next)(THIS_ ULONG cChanges,ISyncChangeUnit **ppChangeUnit,ULONG *pcFetched) PURE;
655 STDMETHOD_(HRESULT,Reset)(THIS) PURE;
656 STDMETHOD_(HRESULT,Skip)(THIS_ ULONG cChanges) PURE;
657
658 END_INTERFACE
659};
660#ifdef COBJMACROS
661#define IEnumSyncChangeUnits_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
662#define IEnumSyncChangeUnits_AddRef(This) (This)->lpVtbl->AddRef(This)
663#define IEnumSyncChangeUnits_Release(This) (This)->lpVtbl->Release(This)
664#define IEnumSyncChangeUnits_Clone(This,ppEnum) (This)->lpVtbl->Clone(This,ppEnum)
665#define IEnumSyncChangeUnits_Next(This,cChanges,ppChangeUnit,pcFetched) (This)->lpVtbl->Next(This,cChanges,ppChangeUnit,pcFetched)
666#define IEnumSyncChangeUnits_Reset() (This)->lpVtbl->Reset(This)
667#define IEnumSyncChangeUnits_Skip(This,cChanges) (This)->lpVtbl->Skip(This,cChanges)
668#endif /*COBJMACROS*/
669
670#endif /*(_WIN32_WINNT >= 0x0601)*/
671#endif /* __WINSYNC_H__ */
Note: See TracBrowser for help on using the repository browser.