Home | History | Annotate | Download | only in include
      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__
     28 typedef struct ISyncMgrSynchronize ISyncMgrSynchronize;
     29 #endif
     30 
     31 #ifndef __ISyncMgrSynchronizeCallback_FWD_DEFINED__
     32 #define __ISyncMgrSynchronizeCallback_FWD_DEFINED__
     33 typedef struct ISyncMgrSynchronizeCallback ISyncMgrSynchronizeCallback;
     34 #endif
     35 
     36 #ifndef __ISyncMgrEnumItems_FWD_DEFINED__
     37 #define __ISyncMgrEnumItems_FWD_DEFINED__
     38 typedef struct ISyncMgrEnumItems ISyncMgrEnumItems;
     39 #endif
     40 
     41 #ifndef __ISyncMgrSynchronizeInvoke_FWD_DEFINED__
     42 #define __ISyncMgrSynchronizeInvoke_FWD_DEFINED__
     43 typedef struct ISyncMgrSynchronizeInvoke ISyncMgrSynchronizeInvoke;
     44 #endif
     45 
     46 #ifndef __ISyncMgrRegister_FWD_DEFINED__
     47 #define __ISyncMgrRegister_FWD_DEFINED__
     48 typedef struct ISyncMgrRegister ISyncMgrRegister;
     49 #endif
     50 
     51 #ifndef __SyncMgr_FWD_DEFINED__
     52 #define __SyncMgr_FWD_DEFINED__
     53 
     54 #ifdef __cplusplus
     55 typedef class SyncMgr SyncMgr;
     56 #else
     57 typedef struct SyncMgr SyncMgr;
     58 #endif
     59 #endif
     60 
     61 #include "objidl.h"
     62 #include "oleidl.h"
     63 
     64 #ifdef __cplusplus
     65 extern "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
    543