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