master
  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 __REQUIRED_RPCNDR_H_VERSION__
  7#define __REQUIRED_RPCNDR_H_VERSION__ 475
  8#endif
  9
 10#include <_mingw_unicode.h>
 11#include "rpc.h"
 12#include "rpcndr.h"
 13
 14#ifndef __RPCNDR_H_VERSION__
 15#error This stub requires an updated version of <rpcndr.h>
 16#endif
 17
 18#ifndef COM_NO_WINDOWS_H
 19#include "windows.h"
 20#include "ole2.h"
 21#endif
 22
 23#ifndef __mobsync_h__
 24#define __mobsync_h__
 25
 26#ifndef __ISyncMgrSynchronize_FWD_DEFINED__
 27#define __ISyncMgrSynchronize_FWD_DEFINED__
 28typedef struct ISyncMgrSynchronize ISyncMgrSynchronize;
 29#endif
 30
 31#ifndef __ISyncMgrSynchronizeCallback_FWD_DEFINED__
 32#define __ISyncMgrSynchronizeCallback_FWD_DEFINED__
 33typedef struct ISyncMgrSynchronizeCallback ISyncMgrSynchronizeCallback;
 34#endif
 35
 36#ifndef __ISyncMgrEnumItems_FWD_DEFINED__
 37#define __ISyncMgrEnumItems_FWD_DEFINED__
 38typedef struct ISyncMgrEnumItems ISyncMgrEnumItems;
 39#endif
 40
 41#ifndef __ISyncMgrSynchronizeInvoke_FWD_DEFINED__
 42#define __ISyncMgrSynchronizeInvoke_FWD_DEFINED__
 43typedef struct ISyncMgrSynchronizeInvoke ISyncMgrSynchronizeInvoke;
 44#endif
 45
 46#ifndef __ISyncMgrRegister_FWD_DEFINED__
 47#define __ISyncMgrRegister_FWD_DEFINED__
 48typedef struct ISyncMgrRegister ISyncMgrRegister;
 49#endif
 50
 51#ifndef __SyncMgr_FWD_DEFINED__
 52#define __SyncMgr_FWD_DEFINED__
 53
 54#ifdef __cplusplus
 55typedef class SyncMgr SyncMgr;
 56#else
 57typedef struct SyncMgr SyncMgr;
 58#endif
 59#endif
 60
 61#include "objidl.h"
 62#include "oleidl.h"
 63
 64#ifdef __cplusplus
 65extern "C" {
 66#endif
 67
 68#ifndef __MIDL_user_allocate_free_DEFINED__
 69#define __MIDL_user_allocate_free_DEFINED__
 70  void *__RPC_API MIDL_user_allocate(size_t);
 71  void __RPC_API MIDL_user_free(void *);
 72#endif
 73
 74  typedef GUID SYNCMGRITEMID;
 75  typedef REFGUID REFSYNCMGRITEMID;
 76  typedef GUID SYNCMGRERRORID;
 77  typedef REFGUID REFSYNCMGRERRORID;
 78
 79  DEFINE_GUID(CLSID_SyncMgr,0x6295df27,0x35ee,0x11d1,0x87,0x7,0x0,0xc0,0x4f,0xd9,0x33,0x27);
 80  DEFINE_GUID(IID_ISyncMgrSynchronize,0x6295df40,0x35ee,0x11d1,0x87,0x7,0x0,0xc0,0x4f,0xd9,0x33,0x27);
 81  DEFINE_GUID(IID_ISyncMgrSynchronizeCallback,0x6295df41,0x35ee,0x11d1,0x87,0x7,0x0,0xc0,0x4f,0xd9,0x33,0x27);
 82  DEFINE_GUID(IID_ISyncMgrRegister,0x6295df42,0x35ee,0x11d1,0x87,0x7,0x0,0xc0,0x4f,0xd9,0x33,0x27);
 83  DEFINE_GUID(IID_ISyncMgrEnumItems,0x6295df2a,0x35ee,0x11d1,0x87,0x7,0x0,0xc0,0x4f,0xd9,0x33,0x27);
 84  DEFINE_GUID(IID_ISyncMgrSynchronizeInvoke,0x6295df2c,0x35ee,0x11d1,0x87,0x7,0x0,0xc0,0x4f,0xd9,0x33,0x27);
 85#define S_SYNCMGR_MISSINGITEMS MAKE_SCODE(SEVERITY_SUCCESS,FACILITY_ITF,0x0201)
 86#define S_SYNCMGR_RETRYSYNC MAKE_SCODE(SEVERITY_SUCCESS,FACILITY_ITF,0x0202)
 87#define S_SYNCMGR_CANCELITEM MAKE_SCODE(SEVERITY_SUCCESS,FACILITY_ITF,0x0203)
 88#define S_SYNCMGR_CANCELALL MAKE_SCODE(SEVERITY_SUCCESS,FACILITY_ITF,0x0204)
 89#define S_SYNCMGR_ITEMDELETED MAKE_SCODE(SEVERITY_SUCCESS,FACILITY_ITF,0x0210)
 90#define S_SYNCMGR_ENUMITEMS MAKE_SCODE(SEVERITY_SUCCESS,FACILITY_ITF,0x0211)
 91
 92  extern RPC_IF_HANDLE __MIDL_itf_mobsync_0000_v0_0_c_ifspec;
 93  extern RPC_IF_HANDLE __MIDL_itf_mobsync_0000_v0_0_s_ifspec;
 94
 95#ifndef __ISyncMgrSynchronize_INTERFACE_DEFINED__
 96#define __ISyncMgrSynchronize_INTERFACE_DEFINED__
 97  typedef ISyncMgrSynchronize *LPSYNCMGRSYNCHRONIZE;
 98
 99  typedef enum _tagSYNCMGRFLAG {
100    SYNCMGRFLAG_CONNECT = 0x1,SYNCMGRFLAG_PENDINGDISCONNECT = 0x2,SYNCMGRFLAG_MANUAL = 0x3,SYNCMGRFLAG_IDLE = 0x4,SYNCMGRFLAG_INVOKE = 0x5,
101    SYNCMGRFLAG_SCHEDULED = 0x6,SYNCMGRFLAG_EVENTMASK = 0xff,SYNCMGRFLAG_SETTINGS = 0x100,SYNCMGRFLAG_MAYBOTHERUSER = 0x200
102  } SYNCMGRFLAG;
103
104#define MAX_SYNCMGRHANDLERNAME (32)
105#define SYNCMGRHANDLERFLAG_MASK 0x07
106
107  typedef enum _tagSYNCMGRHANDLERFLAGS {
108    SYNCMGRHANDLER_HASPROPERTIES = 0x1,SYNCMGRHANDLER_MAYESTABLISHCONNECTION = 0x2,SYNCMGRHANDLER_ALWAYSLISTHANDLER = 0x4
109  } SYNCMGRHANDLERFLAGS;
110
111  typedef struct _tagSYNCMGRHANDLERINFO {
112    DWORD cbSize;
113    HICON hIcon;
114    DWORD SyncMgrHandlerFlags;
115    WCHAR wszHandlerName[32 ];
116  } SYNCMGRHANDLERINFO;
117
118  typedef struct _tagSYNCMGRHANDLERINFO *LPSYNCMGRHANDLERINFO;
119
120#define SYNCMGRITEMSTATE_UNCHECKED 0x0000
121#define SYNCMGRITEMSTATE_CHECKED 0x0001
122
123  typedef enum _tagSYNCMGRSTATUS {
124    SYNCMGRSTATUS_STOPPED = 0,SYNCMGRSTATUS_SKIPPED = 0x1,SYNCMGRSTATUS_PENDING = 0x2,SYNCMGRSTATUS_UPDATING = 0x3,SYNCMGRSTATUS_SUCCEEDED = 0x4,
125    SYNCMGRSTATUS_FAILED = 0x5,SYNCMGRSTATUS_PAUSED = 0x6,SYNCMGRSTATUS_RESUMING = 0x7,SYNCMGRSTATUS_DELETED = 0x100
126  } SYNCMGRSTATUS;
127
128  EXTERN_C const IID IID_ISyncMgrSynchronize;
129#if defined(__cplusplus) && !defined(CINTERFACE)
130  struct ISyncMgrSynchronize : public IUnknown {
131  public:
132    virtual HRESULT WINAPI Initialize(DWORD dwReserved,DWORD dwSyncMgrFlags,DWORD cbCookie,const BYTE *lpCookie) = 0;
133    virtual HRESULT WINAPI GetHandlerInfo(LPSYNCMGRHANDLERINFO *ppSyncMgrHandlerInfo) = 0;
134    virtual HRESULT WINAPI EnumSyncMgrItems(ISyncMgrEnumItems **ppSyncMgrEnumItems) = 0;
135    virtual HRESULT WINAPI GetItemObject(REFSYNCMGRITEMID ItemID,REFIID riid,void **ppv) = 0;
136    virtual HRESULT WINAPI ShowProperties(HWND hWndParent,REFSYNCMGRITEMID ItemID) = 0;
137    virtual HRESULT WINAPI SetProgressCallback(ISyncMgrSynchronizeCallback *lpCallBack) = 0;
138    virtual HRESULT WINAPI PrepareForSync(ULONG cbNumItems,SYNCMGRITEMID *pItemIDs,HWND hWndParent,DWORD dwReserved) = 0;
139    virtual HRESULT WINAPI Synchronize(HWND hWndParent) = 0;
140    virtual HRESULT WINAPI SetItemStatus(REFSYNCMGRITEMID pItemID,DWORD dwSyncMgrStatus) = 0;
141    virtual HRESULT WINAPI ShowError(HWND hWndParent,REFSYNCMGRERRORID ErrorID) = 0;
142  };
143#else
144  typedef struct ISyncMgrSynchronizeVtbl {
145    BEGIN_INTERFACE
146      HRESULT (WINAPI *QueryInterface)(ISyncMgrSynchronize *This,REFIID riid,void **ppvObject);
147      ULONG (WINAPI *AddRef)(ISyncMgrSynchronize *This);
148      ULONG (WINAPI *Release)(ISyncMgrSynchronize *This);
149      HRESULT (WINAPI *Initialize)(ISyncMgrSynchronize *This,DWORD dwReserved,DWORD dwSyncMgrFlags,DWORD cbCookie,const BYTE *lpCookie);
150      HRESULT (WINAPI *GetHandlerInfo)(ISyncMgrSynchronize *This,LPSYNCMGRHANDLERINFO *ppSyncMgrHandlerInfo);
151      HRESULT (WINAPI *EnumSyncMgrItems)(ISyncMgrSynchronize *This,ISyncMgrEnumItems **ppSyncMgrEnumItems);
152      HRESULT (WINAPI *GetItemObject)(ISyncMgrSynchronize *This,REFSYNCMGRITEMID ItemID,REFIID riid,void **ppv);
153      HRESULT (WINAPI *ShowProperties)(ISyncMgrSynchronize *This,HWND hWndParent,REFSYNCMGRITEMID ItemID);
154      HRESULT (WINAPI *SetProgressCallback)(ISyncMgrSynchronize *This,ISyncMgrSynchronizeCallback *lpCallBack);
155      HRESULT (WINAPI *PrepareForSync)(ISyncMgrSynchronize *This,ULONG cbNumItems,SYNCMGRITEMID *pItemIDs,HWND hWndParent,DWORD dwReserved);
156      HRESULT (WINAPI *Synchronize)(ISyncMgrSynchronize *This,HWND hWndParent);
157      HRESULT (WINAPI *SetItemStatus)(ISyncMgrSynchronize *This,REFSYNCMGRITEMID pItemID,DWORD dwSyncMgrStatus);
158      HRESULT (WINAPI *ShowError)(ISyncMgrSynchronize *This,HWND hWndParent,REFSYNCMGRERRORID ErrorID);
159    END_INTERFACE
160  } ISyncMgrSynchronizeVtbl;
161  struct ISyncMgrSynchronize {
162    CONST_VTBL struct ISyncMgrSynchronizeVtbl *lpVtbl;
163  };
164#ifdef COBJMACROS
165#define ISyncMgrSynchronize_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
166#define ISyncMgrSynchronize_AddRef(This) (This)->lpVtbl->AddRef(This)
167#define ISyncMgrSynchronize_Release(This) (This)->lpVtbl->Release(This)
168#define ISyncMgrSynchronize_Initialize(This,dwReserved,dwSyncMgrFlags,cbCookie,lpCookie) (This)->lpVtbl->Initialize(This,dwReserved,dwSyncMgrFlags,cbCookie,lpCookie)
169#define ISyncMgrSynchronize_GetHandlerInfo(This,ppSyncMgrHandlerInfo) (This)->lpVtbl->GetHandlerInfo(This,ppSyncMgrHandlerInfo)
170#define ISyncMgrSynchronize_EnumSyncMgrItems(This,ppSyncMgrEnumItems) (This)->lpVtbl->EnumSyncMgrItems(This,ppSyncMgrEnumItems)
171#define ISyncMgrSynchronize_GetItemObject(This,ItemID,riid,ppv) (This)->lpVtbl->GetItemObject(This,ItemID,riid,ppv)
172#define ISyncMgrSynchronize_ShowProperties(This,hWndParent,ItemID) (This)->lpVtbl->ShowProperties(This,hWndParent,ItemID)
173#define ISyncMgrSynchronize_SetProgressCallback(This,lpCallBack) (This)->lpVtbl->SetProgressCallback(This,lpCallBack)
174#define ISyncMgrSynchronize_PrepareForSync(This,cbNumItems,pItemIDs,hWndParent,dwReserved) (This)->lpVtbl->PrepareForSync(This,cbNumItems,pItemIDs,hWndParent,dwReserved)
175#define ISyncMgrSynchronize_Synchronize(This,hWndParent) (This)->lpVtbl->Synchronize(This,hWndParent)
176#define ISyncMgrSynchronize_SetItemStatus(This,pItemID,dwSyncMgrStatus) (This)->lpVtbl->SetItemStatus(This,pItemID,dwSyncMgrStatus)
177#define ISyncMgrSynchronize_ShowError(This,hWndParent,ErrorID) (This)->lpVtbl->ShowError(This,hWndParent,ErrorID)
178#endif
179#endif
180  HRESULT WINAPI ISyncMgrSynchronize_Initialize_Proxy(ISyncMgrSynchronize *This,DWORD dwReserved,DWORD dwSyncMgrFlags,DWORD cbCookie,const BYTE *lpCookie);
181  void __RPC_STUB ISyncMgrSynchronize_Initialize_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
182  HRESULT WINAPI ISyncMgrSynchronize_GetHandlerInfo_Proxy(ISyncMgrSynchronize *This,LPSYNCMGRHANDLERINFO *ppSyncMgrHandlerInfo);
183  void __RPC_STUB ISyncMgrSynchronize_GetHandlerInfo_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
184  HRESULT WINAPI ISyncMgrSynchronize_EnumSyncMgrItems_Proxy(ISyncMgrSynchronize *This,ISyncMgrEnumItems **ppSyncMgrEnumItems);
185  void __RPC_STUB ISyncMgrSynchronize_EnumSyncMgrItems_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
186  HRESULT WINAPI ISyncMgrSynchronize_GetItemObject_Proxy(ISyncMgrSynchronize *This,REFSYNCMGRITEMID ItemID,REFIID riid,void **ppv);
187  void __RPC_STUB ISyncMgrSynchronize_GetItemObject_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
188  HRESULT WINAPI ISyncMgrSynchronize_ShowProperties_Proxy(ISyncMgrSynchronize *This,HWND hWndParent,REFSYNCMGRITEMID ItemID);
189  void __RPC_STUB ISyncMgrSynchronize_ShowProperties_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
190  HRESULT WINAPI ISyncMgrSynchronize_SetProgressCallback_Proxy(ISyncMgrSynchronize *This,ISyncMgrSynchronizeCallback *lpCallBack);
191  void __RPC_STUB ISyncMgrSynchronize_SetProgressCallback_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
192  HRESULT WINAPI ISyncMgrSynchronize_PrepareForSync_Proxy(ISyncMgrSynchronize *This,ULONG cbNumItems,SYNCMGRITEMID *pItemIDs,HWND hWndParent,DWORD dwReserved);
193  void __RPC_STUB ISyncMgrSynchronize_PrepareForSync_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
194  HRESULT WINAPI ISyncMgrSynchronize_Synchronize_Proxy(ISyncMgrSynchronize *This,HWND hWndParent);
195  void __RPC_STUB ISyncMgrSynchronize_Synchronize_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
196  HRESULT WINAPI ISyncMgrSynchronize_SetItemStatus_Proxy(ISyncMgrSynchronize *This,REFSYNCMGRITEMID pItemID,DWORD dwSyncMgrStatus);
197  void __RPC_STUB ISyncMgrSynchronize_SetItemStatus_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
198  HRESULT WINAPI ISyncMgrSynchronize_ShowError_Proxy(ISyncMgrSynchronize *This,HWND hWndParent,REFSYNCMGRERRORID ErrorID);
199  void __RPC_STUB ISyncMgrSynchronize_ShowError_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
200#endif
201
202#ifndef __ISyncMgrSynchronizeCallback_INTERFACE_DEFINED__
203#define __ISyncMgrSynchronizeCallback_INTERFACE_DEFINED__
204  typedef ISyncMgrSynchronizeCallback *LPSYNCMGRSYNCHRONIZECALLBACK;
205
206#define SYNCMGRPROGRESSITEM_STATUSTEXT 0x0001
207#define SYNCMGRPROGRESSITEM_STATUSTYPE 0x0002
208#define SYNCMGRPROGRESSITEM_PROGVALUE 0x0004
209#define SYNCMGRPROGRESSITEM_MAXVALUE 0x0008
210
211  typedef struct _tagSYNCMGRPROGRESSITEM {
212    DWORD cbSize;
213    UINT mask;
214    LPCWSTR lpcStatusText;
215    DWORD dwStatusType;
216    INT iProgValue;
217    INT iMaxValue;
218  } SYNCMGRPROGRESSITEM;
219
220  typedef struct _tagSYNCMGRPROGRESSITEM *LPSYNCMGRPROGRESSITEM;
221
222  typedef enum _tagSYNCMGRLOGLEVEL {
223    SYNCMGRLOGLEVEL_INFORMATION = 0x1,SYNCMGRLOGLEVEL_WARNING = 0x2,SYNCMGRLOGLEVEL_ERROR = 0x3
224  } SYNCMGRLOGLEVEL;
225
226#define SYNCMGRLOGERROR_ERRORFLAGS 0x0001
227#define SYNCMGRLOGERROR_ERRORID 0x0002
228#define SYNCMGRLOGERROR_ITEMID 0x0004
229
230  typedef enum _tagSYNCMGRERRORFLAGS {
231    SYNCMGRERRORFLAG_ENABLEJUMPTEXT = 0x1
232  } SYNCMGRERRORFLAGS;
233
234  typedef struct _tagSYNCMGRLOGERRORINFO {
235    DWORD cbSize;
236    DWORD mask;
237    DWORD dwSyncMgrErrorFlags;
238    SYNCMGRERRORID ErrorID;
239    SYNCMGRITEMID ItemID;
240  } SYNCMGRLOGERRORINFO;
241
242  typedef struct _tagSYNCMGRLOGERRORINFO *LPSYNCMGRLOGERRORINFO;
243
244  EXTERN_C const IID IID_ISyncMgrSynchronizeCallback;
245#if defined(__cplusplus) && !defined(CINTERFACE)
246  struct ISyncMgrSynchronizeCallback : public IUnknown {
247  public:
248    virtual HRESULT WINAPI ShowPropertiesCompleted(HRESULT hr) = 0;
249    virtual HRESULT WINAPI PrepareForSyncCompleted(HRESULT hr) = 0;
250    virtual HRESULT WINAPI SynchronizeCompleted(HRESULT hr) = 0;
251    virtual HRESULT WINAPI ShowErrorCompleted(HRESULT hr,ULONG cbNumItems,SYNCMGRITEMID *pItemIDs) = 0;
252    virtual HRESULT WINAPI EnableModeless(WINBOOL fEnable) = 0;
253    virtual HRESULT WINAPI Progress(REFSYNCMGRITEMID pItemID,LPSYNCMGRPROGRESSITEM lpSyncProgressItem) = 0;
254    virtual HRESULT WINAPI LogError(DWORD dwErrorLevel,LPCWSTR lpcErrorText,LPSYNCMGRLOGERRORINFO lpSyncLogError) = 0;
255    virtual HRESULT WINAPI DeleteLogError(REFSYNCMGRERRORID ErrorID,DWORD dwReserved) = 0;
256    virtual HRESULT WINAPI EstablishConnection(LPCWSTR lpwszConnection,DWORD dwReserved) = 0;
257  };
258#else
259  typedef struct ISyncMgrSynchronizeCallbackVtbl {
260    BEGIN_INTERFACE
261      HRESULT (WINAPI *QueryInterface)(ISyncMgrSynchronizeCallback *This,REFIID riid,void **ppvObject);
262      ULONG (WINAPI *AddRef)(ISyncMgrSynchronizeCallback *This);
263      ULONG (WINAPI *Release)(ISyncMgrSynchronizeCallback *This);
264      HRESULT (WINAPI *ShowPropertiesCompleted)(ISyncMgrSynchronizeCallback *This,HRESULT hr);
265      HRESULT (WINAPI *PrepareForSyncCompleted)(ISyncMgrSynchronizeCallback *This,HRESULT hr);
266      HRESULT (WINAPI *SynchronizeCompleted)(ISyncMgrSynchronizeCallback *This,HRESULT hr);
267      HRESULT (WINAPI *ShowErrorCompleted)(ISyncMgrSynchronizeCallback *This,HRESULT hr,ULONG cbNumItems,SYNCMGRITEMID *pItemIDs);
268      HRESULT (WINAPI *EnableModeless)(ISyncMgrSynchronizeCallback *This,WINBOOL fEnable);
269      HRESULT (WINAPI *Progress)(ISyncMgrSynchronizeCallback *This,REFSYNCMGRITEMID pItemID,LPSYNCMGRPROGRESSITEM lpSyncProgressItem);
270      HRESULT (WINAPI *LogError)(ISyncMgrSynchronizeCallback *This,DWORD dwErrorLevel,LPCWSTR lpcErrorText,LPSYNCMGRLOGERRORINFO lpSyncLogError);
271      HRESULT (WINAPI *DeleteLogError)(ISyncMgrSynchronizeCallback *This,REFSYNCMGRERRORID ErrorID,DWORD dwReserved);
272      HRESULT (WINAPI *EstablishConnection)(ISyncMgrSynchronizeCallback *This,LPCWSTR lpwszConnection,DWORD dwReserved);
273    END_INTERFACE
274  } ISyncMgrSynchronizeCallbackVtbl;
275  struct ISyncMgrSynchronizeCallback {
276    CONST_VTBL struct ISyncMgrSynchronizeCallbackVtbl *lpVtbl;
277  };
278#ifdef COBJMACROS
279#define ISyncMgrSynchronizeCallback_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
280#define ISyncMgrSynchronizeCallback_AddRef(This) (This)->lpVtbl->AddRef(This)
281#define ISyncMgrSynchronizeCallback_Release(This) (This)->lpVtbl->Release(This)
282#define ISyncMgrSynchronizeCallback_ShowPropertiesCompleted(This,hr) (This)->lpVtbl->ShowPropertiesCompleted(This,hr)
283#define ISyncMgrSynchronizeCallback_PrepareForSyncCompleted(This,hr) (This)->lpVtbl->PrepareForSyncCompleted(This,hr)
284#define ISyncMgrSynchronizeCallback_SynchronizeCompleted(This,hr) (This)->lpVtbl->SynchronizeCompleted(This,hr)
285#define ISyncMgrSynchronizeCallback_ShowErrorCompleted(This,hr,cbNumItems,pItemIDs) (This)->lpVtbl->ShowErrorCompleted(This,hr,cbNumItems,pItemIDs)
286#define ISyncMgrSynchronizeCallback_EnableModeless(This,fEnable) (This)->lpVtbl->EnableModeless(This,fEnable)
287#define ISyncMgrSynchronizeCallback_Progress(This,pItemID,lpSyncProgressItem) (This)->lpVtbl->Progress(This,pItemID,lpSyncProgressItem)
288#define ISyncMgrSynchronizeCallback_LogError(This,dwErrorLevel,lpcErrorText,lpSyncLogError) (This)->lpVtbl->LogError(This,dwErrorLevel,lpcErrorText,lpSyncLogError)
289#define ISyncMgrSynchronizeCallback_DeleteLogError(This,ErrorID,dwReserved) (This)->lpVtbl->DeleteLogError(This,ErrorID,dwReserved)
290#define ISyncMgrSynchronizeCallback_EstablishConnection(This,lpwszConnection,dwReserved) (This)->lpVtbl->EstablishConnection(This,lpwszConnection,dwReserved)
291#endif
292#endif
293  HRESULT WINAPI ISyncMgrSynchronizeCallback_ShowPropertiesCompleted_Proxy(ISyncMgrSynchronizeCallback *This,HRESULT hr);
294  void __RPC_STUB ISyncMgrSynchronizeCallback_ShowPropertiesCompleted_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
295  HRESULT WINAPI ISyncMgrSynchronizeCallback_PrepareForSyncCompleted_Proxy(ISyncMgrSynchronizeCallback *This,HRESULT hr);
296  void __RPC_STUB ISyncMgrSynchronizeCallback_PrepareForSyncCompleted_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
297  HRESULT WINAPI ISyncMgrSynchronizeCallback_SynchronizeCompleted_Proxy(ISyncMgrSynchronizeCallback *This,HRESULT hr);
298  void __RPC_STUB ISyncMgrSynchronizeCallback_SynchronizeCompleted_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
299  HRESULT WINAPI ISyncMgrSynchronizeCallback_ShowErrorCompleted_Proxy(ISyncMgrSynchronizeCallback *This,HRESULT hr,ULONG cbNumItems,SYNCMGRITEMID *pItemIDs);
300  void __RPC_STUB ISyncMgrSynchronizeCallback_ShowErrorCompleted_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
301  HRESULT WINAPI ISyncMgrSynchronizeCallback_EnableModeless_Proxy(ISyncMgrSynchronizeCallback *This,WINBOOL fEnable);
302  void __RPC_STUB ISyncMgrSynchronizeCallback_EnableModeless_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
303  HRESULT WINAPI ISyncMgrSynchronizeCallback_Progress_Proxy(ISyncMgrSynchronizeCallback *This,REFSYNCMGRITEMID pItemID,LPSYNCMGRPROGRESSITEM lpSyncProgressItem);
304  void __RPC_STUB ISyncMgrSynchronizeCallback_Progress_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
305  HRESULT WINAPI ISyncMgrSynchronizeCallback_LogError_Proxy(ISyncMgrSynchronizeCallback *This,DWORD dwErrorLevel,LPCWSTR lpcErrorText,LPSYNCMGRLOGERRORINFO lpSyncLogError);
306  void __RPC_STUB ISyncMgrSynchronizeCallback_LogError_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
307  HRESULT WINAPI ISyncMgrSynchronizeCallback_DeleteLogError_Proxy(ISyncMgrSynchronizeCallback *This,REFSYNCMGRERRORID ErrorID,DWORD dwReserved);
308  void __RPC_STUB ISyncMgrSynchronizeCallback_DeleteLogError_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
309  HRESULT WINAPI ISyncMgrSynchronizeCallback_EstablishConnection_Proxy(ISyncMgrSynchronizeCallback *This,LPCWSTR lpwszConnection,DWORD dwReserved);
310  void __RPC_STUB ISyncMgrSynchronizeCallback_EstablishConnection_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
311#endif
312
313#ifndef __ISyncMgrEnumItems_INTERFACE_DEFINED__
314#define __ISyncMgrEnumItems_INTERFACE_DEFINED__
315  typedef ISyncMgrEnumItems *LPSYNCMGRENUMITEMS;
316
317#define SYNCMGRITEM_ITEMFLAGMASK 0x1F
318#define MAX_SYNCMGRITEMNAME (128)
319
320  typedef enum _tagSYNCMGRITEMFLAGS {
321    SYNCMGRITEM_HASPROPERTIES = 0x1,SYNCMGRITEM_TEMPORARY = 0x2,SYNCMGRITEM_ROAMINGUSER = 0x4,SYNCMGRITEM_LASTUPDATETIME = 0x8,
322    SYNCMGRITEM_MAYDELETEITEM = 0x10
323  } SYNCMGRITEMFLAGS;
324
325  typedef struct _tagSYNCMGRITEM {
326    DWORD cbSize;
327    DWORD dwFlags;
328    SYNCMGRITEMID ItemID;
329    DWORD dwItemState;
330    HICON hIcon;
331    WCHAR wszItemName[128 ];
332    FILETIME ftLastUpdate;
333  } SYNCMGRITEM;
334
335  typedef struct _tagSYNCMGRITEM *LPSYNCMGRITEM;
336
337  EXTERN_C const IID IID_ISyncMgrEnumItems;
338#if defined(__cplusplus) && !defined(CINTERFACE)
339  struct ISyncMgrEnumItems : public IUnknown {
340  public:
341    virtual HRESULT WINAPI Next(ULONG celt,LPSYNCMGRITEM rgelt,ULONG *pceltFetched) = 0;
342    virtual HRESULT WINAPI Skip(ULONG celt) = 0;
343    virtual HRESULT WINAPI Reset(void) = 0;
344    virtual HRESULT WINAPI Clone(ISyncMgrEnumItems **ppenum) = 0;
345  };
346#else
347  typedef struct ISyncMgrEnumItemsVtbl {
348    BEGIN_INTERFACE
349      HRESULT (WINAPI *QueryInterface)(ISyncMgrEnumItems *This,REFIID riid,void **ppvObject);
350      ULONG (WINAPI *AddRef)(ISyncMgrEnumItems *This);
351      ULONG (WINAPI *Release)(ISyncMgrEnumItems *This);
352      HRESULT (WINAPI *Next)(ISyncMgrEnumItems *This,ULONG celt,LPSYNCMGRITEM rgelt,ULONG *pceltFetched);
353      HRESULT (WINAPI *Skip)(ISyncMgrEnumItems *This,ULONG celt);
354      HRESULT (WINAPI *Reset)(ISyncMgrEnumItems *This);
355      HRESULT (WINAPI *Clone)(ISyncMgrEnumItems *This,ISyncMgrEnumItems **ppenum);
356    END_INTERFACE
357  } ISyncMgrEnumItemsVtbl;
358  struct ISyncMgrEnumItems {
359    CONST_VTBL struct ISyncMgrEnumItemsVtbl *lpVtbl;
360  };
361#ifdef COBJMACROS
362#define ISyncMgrEnumItems_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
363#define ISyncMgrEnumItems_AddRef(This) (This)->lpVtbl->AddRef(This)
364#define ISyncMgrEnumItems_Release(This) (This)->lpVtbl->Release(This)
365#define ISyncMgrEnumItems_Next(This,celt,rgelt,pceltFetched) (This)->lpVtbl->Next(This,celt,rgelt,pceltFetched)
366#define ISyncMgrEnumItems_Skip(This,celt) (This)->lpVtbl->Skip(This,celt)
367#define ISyncMgrEnumItems_Reset(This) (This)->lpVtbl->Reset(This)
368#define ISyncMgrEnumItems_Clone(This,ppenum) (This)->lpVtbl->Clone(This,ppenum)
369#endif
370#endif
371  HRESULT WINAPI ISyncMgrEnumItems_Next_Proxy(ISyncMgrEnumItems *This,ULONG celt,LPSYNCMGRITEM rgelt,ULONG *pceltFetched);
372  void __RPC_STUB ISyncMgrEnumItems_Next_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
373  HRESULT WINAPI ISyncMgrEnumItems_Skip_Proxy(ISyncMgrEnumItems *This,ULONG celt);
374  void __RPC_STUB ISyncMgrEnumItems_Skip_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
375  HRESULT WINAPI ISyncMgrEnumItems_Reset_Proxy(ISyncMgrEnumItems *This);
376  void __RPC_STUB ISyncMgrEnumItems_Reset_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
377  HRESULT WINAPI ISyncMgrEnumItems_Clone_Proxy(ISyncMgrEnumItems *This,ISyncMgrEnumItems **ppenum);
378  void __RPC_STUB ISyncMgrEnumItems_Clone_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
379#endif
380
381#ifndef __ISyncMgrSynchronizeInvoke_INTERFACE_DEFINED__
382#define __ISyncMgrSynchronizeInvoke_INTERFACE_DEFINED__
383  typedef ISyncMgrSynchronizeInvoke *LPSYNCMGRSYNCHRONIZEINVOKE;
384
385  typedef enum _tagSYNCMGRINVOKEFLAGS {
386    SYNCMGRINVOKE_STARTSYNC = 0x2,SYNCMGRINVOKE_MINIMIZED = 0x4
387  } SYNCMGRINVOKEFLAGS;
388
389  EXTERN_C const IID IID_ISyncMgrSynchronizeInvoke;
390#if defined(__cplusplus) && !defined(CINTERFACE)
391  struct ISyncMgrSynchronizeInvoke : public IUnknown {
392  public:
393    virtual HRESULT WINAPI UpdateItems(DWORD dwInvokeFlags,REFCLSID rclsid,DWORD cbCookie,const BYTE *lpCookie) = 0;
394    virtual HRESULT WINAPI UpdateAll(void) = 0;
395  };
396#else
397  typedef struct ISyncMgrSynchronizeInvokeVtbl {
398    BEGIN_INTERFACE
399      HRESULT (WINAPI *QueryInterface)(ISyncMgrSynchronizeInvoke *This,REFIID riid,void **ppvObject);
400      ULONG (WINAPI *AddRef)(ISyncMgrSynchronizeInvoke *This);
401      ULONG (WINAPI *Release)(ISyncMgrSynchronizeInvoke *This);
402      HRESULT (WINAPI *UpdateItems)(ISyncMgrSynchronizeInvoke *This,DWORD dwInvokeFlags,REFCLSID rclsid,DWORD cbCookie,const BYTE *lpCookie);
403      HRESULT (WINAPI *UpdateAll)(ISyncMgrSynchronizeInvoke *This);
404    END_INTERFACE
405  } ISyncMgrSynchronizeInvokeVtbl;
406  struct ISyncMgrSynchronizeInvoke {
407    CONST_VTBL struct ISyncMgrSynchronizeInvokeVtbl *lpVtbl;
408  };
409#ifdef COBJMACROS
410#define ISyncMgrSynchronizeInvoke_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
411#define ISyncMgrSynchronizeInvoke_AddRef(This) (This)->lpVtbl->AddRef(This)
412#define ISyncMgrSynchronizeInvoke_Release(This) (This)->lpVtbl->Release(This)
413#define ISyncMgrSynchronizeInvoke_UpdateItems(This,dwInvokeFlags,rclsid,cbCookie,lpCookie) (This)->lpVtbl->UpdateItems(This,dwInvokeFlags,rclsid,cbCookie,lpCookie)
414#define ISyncMgrSynchronizeInvoke_UpdateAll(This) (This)->lpVtbl->UpdateAll(This)
415#endif
416#endif
417  HRESULT WINAPI ISyncMgrSynchronizeInvoke_UpdateItems_Proxy(ISyncMgrSynchronizeInvoke *This,DWORD dwInvokeFlags,REFCLSID rclsid,DWORD cbCookie,const BYTE *lpCookie);
418  void __RPC_STUB ISyncMgrSynchronizeInvoke_UpdateItems_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
419  HRESULT WINAPI ISyncMgrSynchronizeInvoke_UpdateAll_Proxy(ISyncMgrSynchronizeInvoke *This);
420  void __RPC_STUB ISyncMgrSynchronizeInvoke_UpdateAll_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
421#endif
422
423#ifndef __ISyncMgrRegister_INTERFACE_DEFINED__
424#define __ISyncMgrRegister_INTERFACE_DEFINED__
425  typedef ISyncMgrRegister *LPSYNCMGRREGISTER;
426
427#define SYNCMGRREGISTERFLAGS_MASK 0x07
428
429  typedef enum _tagSYNCMGRREGISTERFLAGS {
430    SYNCMGRREGISTERFLAG_CONNECT = 0x1,SYNCMGRREGISTERFLAG_PENDINGDISCONNECT = 0x2,SYNCMGRREGISTERFLAG_IDLE = 0x4
431  } SYNCMGRREGISTERFLAGS;
432
433  EXTERN_C const IID IID_ISyncMgrRegister;
434#if defined(__cplusplus) && !defined(CINTERFACE)
435  struct ISyncMgrRegister : public IUnknown {
436  public:
437    virtual HRESULT WINAPI RegisterSyncMgrHandler(REFCLSID rclsidHandler,LPCWSTR pwszDescription,DWORD dwSyncMgrRegisterFlags) = 0;
438    virtual HRESULT WINAPI UnregisterSyncMgrHandler(REFCLSID rclsidHandler,DWORD dwReserved) = 0;
439    virtual HRESULT WINAPI GetHandlerRegistrationInfo(REFCLSID rclsidHandler,LPDWORD pdwSyncMgrRegisterFlags) = 0;
440  };
441#else
442  typedef struct ISyncMgrRegisterVtbl {
443    BEGIN_INTERFACE
444      HRESULT (WINAPI *QueryInterface)(ISyncMgrRegister *This,REFIID riid,void **ppvObject);
445      ULONG (WINAPI *AddRef)(ISyncMgrRegister *This);
446      ULONG (WINAPI *Release)(ISyncMgrRegister *This);
447      HRESULT (WINAPI *RegisterSyncMgrHandler)(ISyncMgrRegister *This,REFCLSID rclsidHandler,LPCWSTR pwszDescription,DWORD dwSyncMgrRegisterFlags);
448      HRESULT (WINAPI *UnregisterSyncMgrHandler)(ISyncMgrRegister *This,REFCLSID rclsidHandler,DWORD dwReserved);
449      HRESULT (WINAPI *GetHandlerRegistrationInfo)(ISyncMgrRegister *This,REFCLSID rclsidHandler,LPDWORD pdwSyncMgrRegisterFlags);
450    END_INTERFACE
451  } ISyncMgrRegisterVtbl;
452  struct ISyncMgrRegister {
453    CONST_VTBL struct ISyncMgrRegisterVtbl *lpVtbl;
454  };
455#ifdef COBJMACROS
456#define ISyncMgrRegister_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
457#define ISyncMgrRegister_AddRef(This) (This)->lpVtbl->AddRef(This)
458#define ISyncMgrRegister_Release(This) (This)->lpVtbl->Release(This)
459#define ISyncMgrRegister_RegisterSyncMgrHandler(This,rclsidHandler,pwszDescription,dwSyncMgrRegisterFlags) (This)->lpVtbl->RegisterSyncMgrHandler(This,rclsidHandler,pwszDescription,dwSyncMgrRegisterFlags)
460#define ISyncMgrRegister_UnregisterSyncMgrHandler(This,rclsidHandler,dwReserved) (This)->lpVtbl->UnregisterSyncMgrHandler(This,rclsidHandler,dwReserved)
461#define ISyncMgrRegister_GetHandlerRegistrationInfo(This,rclsidHandler,pdwSyncMgrRegisterFlags) (This)->lpVtbl->GetHandlerRegistrationInfo(This,rclsidHandler,pdwSyncMgrRegisterFlags)
462#endif
463#endif
464  HRESULT WINAPI ISyncMgrRegister_RegisterSyncMgrHandler_Proxy(ISyncMgrRegister *This,REFCLSID rclsidHandler,LPCWSTR pwszDescription,DWORD dwSyncMgrRegisterFlags);
465  void __RPC_STUB ISyncMgrRegister_RegisterSyncMgrHandler_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
466  HRESULT WINAPI ISyncMgrRegister_UnregisterSyncMgrHandler_Proxy(ISyncMgrRegister *This,REFCLSID rclsidHandler,DWORD dwReserved);
467  void __RPC_STUB ISyncMgrRegister_UnregisterSyncMgrHandler_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
468  HRESULT WINAPI ISyncMgrRegister_GetHandlerRegistrationInfo_Proxy(ISyncMgrRegister *This,REFCLSID rclsidHandler,LPDWORD pdwSyncMgrRegisterFlags);
469  void __RPC_STUB ISyncMgrRegister_GetHandlerRegistrationInfo_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
470#endif
471
472#define RFCF_APPLY_ALL 0x0001
473
474#define RFCD_NAME 0x0001
475#define RFCD_KEEPBOTHICON 0x0002
476#define RFCD_KEEPLOCALICON 0x0004
477#define RFCD_KEEPSERVERICON 0x0008
478#define RFCD_NETWORKMODIFIEDBY 0x0010
479#define RFCD_NETWORKMODIFIEDON 0x0020
480#define RFCD_LOCALMODIFIEDBY 0x0040
481#define RFCD_LOCALMODIFIEDON 0x0080
482#define RFCD_NEWNAME 0x0100
483#define RFCD_LOCATION 0x0200
484#define RFCD_ALL 0x03FF
485
486#define RFCCM_VIEWLOCAL 0x0001
487#define RFCCM_VIEWNETWORK 0x0002
488#define RFCCM_NEEDELEMENT 0x0003
489
490#define RFC_CANCEL 0x00
491#define RFC_KEEPBOTH 0x01
492#define RFC_KEEPLOCAL 0x02
493#define RFC_KEEPNETWORK 0x03
494#define RFC_APPLY_TO_ALL 0x10
495
496  typedef WINBOOL (WINAPI *PFNRFCDCALLBACK)(HWND hWnd,UINT uMsg,WPARAM wParam,LPARAM lParam);
497
498  typedef struct tagRFCDLGPARAMW {
499    DWORD dwFlags;
500    LPCWSTR pszFilename;
501    LPCWSTR pszLocation;
502    LPCWSTR pszNewName;
503    LPCWSTR pszNetworkModifiedBy;
504    LPCWSTR pszLocalModifiedBy;
505    LPCWSTR pszNetworkModifiedOn;
506    LPCWSTR pszLocalModifiedOn;
507    HICON hIKeepBoth;
508    HICON hIKeepLocal;
509    HICON hIKeepNetwork;
510    PFNRFCDCALLBACK pfnCallBack;
511    LPARAM lCallerData;
512  } RFCDLGPARAMW;
513
514  typedef struct tagRFCDLGPARAMA {
515    DWORD dwFlags;
516    LPCSTR pszFilename;
517    LPCSTR pszLocation;
518    LPCSTR pszNewName;
519    LPCSTR pszNetworkModifiedBy;
520    LPCSTR pszLocalModifiedBy;
521    LPCSTR pszNetworkModifiedOn;
522    LPCSTR pszLocalModifiedOn;
523    HICON hIKeepBoth;
524    HICON hIKeepLocal;
525    HICON hIKeepNetwork;
526    PFNRFCDCALLBACK pfnCallBack;
527    LPARAM lCallerData;
528  } RFCDLGPARAMA;
529
530  int WINAPI SyncMgrResolveConflictW(HWND hWndParent,RFCDLGPARAMW *pdlgParam);
531  int WINAPI SyncMgrResolveConflictA(HWND hWndParent,RFCDLGPARAMA *pdlgParam);
532
533#define SyncMgrResolveConflict __MINGW_NAME_AW(SyncMgrResolveConflict)
534#define RFCDLGPARAM __MINGW_NAME_AW(RFCDLGPARAM)
535
536  extern RPC_IF_HANDLE __MIDL_itf_mobsync_0122_v0_0_c_ifspec;
537  extern RPC_IF_HANDLE __MIDL_itf_mobsync_0122_v0_0_s_ifspec;
538
539#ifdef __cplusplus
540}
541#endif
542#endif