Mobsync.Idl
上传用户:dzyhzl
上传日期:2019-04-29
资源大小:56270k
文件大小:18k
源码类别:

模拟服务器

开发平台:

C/C++

  1. //****************************************************************************
  2. //
  3. //  Copyright (c) Microsoft Corporation. All rights reserved.
  4. //
  5. //  File:       syncmgr.idl
  6. //
  7. //  Contents:   Interfaces for Synchronization Manager
  8. //
  9. //****************************************************************************
  10. #ifndef DO_NO_IMPORTS
  11. import "objidl.idl";
  12. import "oleidl.idl";
  13. #endif
  14. interface ISyncMgrSynchronize;
  15. interface ISyncMgrSynchronizeCallback;
  16. interface ISyncMgrEnumItems;
  17. interface ISyncMgrSynchronizeInvoke;
  18. interface ISyncMgrRegister;
  19. typedef GUID SYNCMGRITEMID;
  20. typedef REFGUID REFSYNCMGRITEMID;
  21. typedef GUID SYNCMGRERRORID;
  22. typedef REFGUID REFSYNCMGRERRORID;
  23. // {6295DF27-35EE-11d1-8707-00C04FD93327}
  24. cpp_quote("DEFINE_GUID(CLSID_SyncMgr,0x6295df27, 0x35ee, 0x11d1, 0x87, 0x7, 0x0, 0xc0, 0x4f, 0xd9, 0x33, 0x27);")
  25. // {6295DF40-35EE-11d1-8707-00C04FD93327}
  26. cpp_quote("DEFINE_GUID(IID_ISyncMgrSynchronize,0x6295df40, 0x35ee, 0x11d1, 0x87, 0x7, 0x0, 0xc0, 0x4f, 0xd9, 0x33, 0x27);")
  27. // {6295DF41-35EE-11d1-8707-00C04FD93327}
  28. cpp_quote("DEFINE_GUID(IID_ISyncMgrSynchronizeCallback,0x6295df41, 0x35ee, 0x11d1, 0x87, 0x7, 0x0, 0xc0, 0x4f, 0xd9, 0x33, 0x27);")
  29. // {6295DF42-35EE-11d1-8707-00C04FD93327}
  30. cpp_quote("DEFINE_GUID(IID_ISyncMgrRegister, 0x6295df42, 0x35ee, 0x11d1, 0x87, 0x7, 0x0, 0xc0, 0x4f, 0xd9, 0x33, 0x27);")
  31. // {6295DF2A-35EE-11d1-8707-00C04FD93327}
  32. cpp_quote("DEFINE_GUID(IID_ISyncMgrEnumItems,0x6295df2a, 0x35ee, 0x11d1, 0x87, 0x7, 0x0, 0xc0, 0x4f, 0xd9, 0x33, 0x27);")
  33. // {6295DF2C-35EE-11d1-8707-00C04FD93327}
  34. cpp_quote("DEFINE_GUID(IID_ISyncMgrSynchronizeInvoke,0x6295df2c, 0x35ee, 0x11d1, 0x87, 0x7, 0x0, 0xc0, 0x4f, 0xd9, 0x33, 0x27);")
  35. // Success codes specific to SyncMgr interfaces
  36. cpp_quote("#define S_SYNCMGR_MISSINGITEMS       MAKE_SCODE(SEVERITY_SUCCESS,FACILITY_ITF,0x0201)")
  37. cpp_quote("#define S_SYNCMGR_RETRYSYNC          MAKE_SCODE(SEVERITY_SUCCESS,FACILITY_ITF,0x0202)")
  38. cpp_quote("#define S_SYNCMGR_CANCELITEM         MAKE_SCODE(SEVERITY_SUCCESS,FACILITY_ITF,0x0203)")
  39. cpp_quote("#define S_SYNCMGR_CANCELALL          MAKE_SCODE(SEVERITY_SUCCESS,FACILITY_ITF,0x0204)")
  40. // success codes that may be returned in ShowPropertiesCompleted.
  41. cpp_quote("#define S_SYNCMGR_ITEMDELETED        MAKE_SCODE(SEVERITY_SUCCESS,FACILITY_ITF,0x0210)")
  42. cpp_quote("#define S_SYNCMGR_ENUMITEMS          MAKE_SCODE(SEVERITY_SUCCESS,FACILITY_ITF,0x0211)")
  43. [
  44.     local,
  45.     object,
  46.     uuid(6295DF40-35EE-11d1-8707-00C04FD93327)  // IID_ISyncMgrSynchronize
  47. ]
  48. interface ISyncMgrSynchronize: IUnknown
  49. {
  50.     typedef [unique] ISyncMgrSynchronize *LPSYNCMGRSYNCHRONIZE;
  51.     typedef enum _tagSYNCMGRFLAG {      // flags for Synchronization Event
  52.         SYNCMGRFLAG_CONNECT             =       0x0001, // Sync was invoked by a network connect
  53.         SYNCMGRFLAG_PENDINGDISCONNECT   =       0x0002, // Sync was invoked by a pending network disconnect
  54.         SYNCMGRFLAG_MANUAL              =       0x0003, // Sync was invoked manually
  55.         SYNCMGRFLAG_IDLE                =       0x0004, // Sync was invoked by an idle event
  56.         SYNCMGRFLAG_INVOKE              =       0x0005, // Sync was programmatically invoked by handler
  57.         SYNCMGRFLAG_SCHEDULED           =       0x0006, // Sync was invoked by a scheduled update
  58.         SYNCMGRFLAG_EVENTMASK           =       0x00FF,
  59.         SYNCMGRFLAG_SETTINGS            =       0x0100, // Sync was invoked for configuration only
  60.         SYNCMGRFLAG_MAYBOTHERUSER       =       0x0200, // Interaction with the user is permitted
  61.     } SYNCMGRFLAG;
  62.     const USHORT MAX_SYNCMGRHANDLERNAME = 32;
  63.     cpp_quote("#define SYNCMGRHANDLERFLAG_MASK 0x07")
  64.     cpp_quote("")
  65.     typedef enum _tagSYNCMGRHANDLERFLAGS {   // flags that apply to this handler.
  66.         SYNCMGRHANDLER_HASPROPERTIES          = 0x01,   // have a properties dialog for this handler
  67.         SYNCMGRHANDLER_MAYESTABLISHCONNECTION = 0x02,   // may call callback EstablishConnection method
  68.         SYNCMGRHANDLER_ALWAYSLISTHANDLER      = 0x04,   // Show Handler in Choice even if not items    
  69.     } SYNCMGRHANDLERFLAGS;
  70.     typedef struct _tagSYNCMGRHANDLERINFO {
  71.        DWORD        cbSize;
  72.        HICON        hIcon;
  73.        DWORD        SyncMgrHandlerFlags;
  74.        WCHAR        wszHandlerName[MAX_SYNCMGRHANDLERNAME];
  75.     } SYNCMGRHANDLERINFO, *LPSYNCMGRHANDLERINFO;
  76.     cpp_quote("#define   SYNCMGRITEMSTATE_UNCHECKED    0x0000")
  77.     cpp_quote("#define   SYNCMGRITEMSTATE_CHECKED      0x0001")
  78.     cpp_quote("")
  79.     typedef enum _tagSYNCMGRSTATUS {
  80.         SYNCMGRSTATUS_STOPPED           =   0x0000,
  81.         SYNCMGRSTATUS_SKIPPED           =   0x0001,
  82.         SYNCMGRSTATUS_PENDING           =   0x0002,
  83.         SYNCMGRSTATUS_UPDATING          =   0x0003,
  84.         SYNCMGRSTATUS_SUCCEEDED         =   0x0004,
  85.         SYNCMGRSTATUS_FAILED            =   0x0005,
  86.         SYNCMGRSTATUS_PAUSED            =   0x0006,
  87.         SYNCMGRSTATUS_RESUMING          =   0x0007,
  88.         SYNCMGRSTATUS_DELETED           =   0x0100, // send to indicate to item that the item has been deleted.
  89.     } SYNCMGRSTATUS;
  90.     HRESULT Initialize(
  91.         [in] DWORD dwReserved,
  92.         [in] DWORD dwSyncMgrFlags,
  93.         [in] DWORD cbCookie,
  94.         [in, unique, size_is(cbCookie)] BYTE const*lpCookie);
  95.     HRESULT GetHandlerInfo(
  96.         [out] LPSYNCMGRHANDLERINFO *ppSyncMgrHandlerInfo);
  97.     HRESULT EnumSyncMgrItems(
  98.         [out] ISyncMgrEnumItems **ppSyncMgrEnumItems);
  99.     HRESULT GetItemObject(
  100.         [in] REFSYNCMGRITEMID ItemID,
  101.         [in] REFIID riid,
  102.         [out, iid_is(riid)] void** ppv);
  103.     HRESULT ShowProperties(
  104.         [in] HWND hWndParent,
  105.         [in] REFSYNCMGRITEMID ItemID);
  106.     HRESULT SetProgressCallback(
  107.         [in,unique] ISyncMgrSynchronizeCallback *lpCallBack);
  108.     HRESULT PrepareForSync(
  109.         [in] ULONG cbNumItems,
  110.         [in, size_is(cbNumItems)] SYNCMGRITEMID* pItemIDs,
  111.         [in] HWND hWndParent,
  112.         [in] DWORD dwReserved);
  113.     HRESULT Synchronize(
  114.         [in] HWND hWndParent);
  115.     HRESULT SetItemStatus(
  116.         [in] REFSYNCMGRITEMID pItemID,
  117.         [in] DWORD dwSyncMgrStatus);
  118.     HRESULT ShowError(
  119.         [in] HWND hWndParent,
  120.         [in] REFSYNCMGRERRORID ErrorID);
  121. }
  122. [
  123.     local,
  124.     object,
  125.     uuid(6295DF41-35EE-11d1-8707-00C04FD93327)  // IID_ISyncMgrSynchronizeCallback
  126. ]
  127. interface ISyncMgrSynchronizeCallback: IUnknown
  128. {
  129.     typedef [unique] ISyncMgrSynchronizeCallback *LPSYNCMGRSYNCHRONIZECALLBACK;
  130.     cpp_quote("#define   SYNCMGRPROGRESSITEM_STATUSTEXT         0x0001")
  131.     cpp_quote("#define   SYNCMGRPROGRESSITEM_STATUSTYPE         0x0002")
  132.     cpp_quote("#define   SYNCMGRPROGRESSITEM_PROGVALUE      0x0004")
  133.     cpp_quote("#define   SYNCMGRPROGRESSITEM_MAXVALUE       0x0008")
  134.     cpp_quote("")
  135.     typedef struct _tagSYNCMGRPROGRESSITEM {
  136.         DWORD           cbSize;
  137.         UINT            mask;
  138.         LPCWSTR    lpcStatusText;
  139.         DWORD           dwStatusType;
  140.         INT             iProgValue;
  141.         INT             iMaxValue;
  142.     } SYNCMGRPROGRESSITEM, *LPSYNCMGRPROGRESSITEM;
  143.     typedef enum _tagSYNCMGRLOGLEVEL {
  144.         SYNCMGRLOGLEVEL_INFORMATION             =   0x0001,
  145.         SYNCMGRLOGLEVEL_WARNING                 =   0x0002,
  146.         SYNCMGRLOGLEVEL_ERROR                   =   0x0003,
  147.     } SYNCMGRLOGLEVEL;
  148.     cpp_quote("#define   SYNCMGRLOGERROR_ERRORFLAGS                     0x0001")
  149.     cpp_quote("#define   SYNCMGRLOGERROR_ERRORID                        0x0002")
  150.     cpp_quote("#define   SYNCMGRLOGERROR_ITEMID                         0x0004")
  151.     cpp_quote("")
  152.     typedef enum _tagSYNCMGRERRORFLAGS {   // flags that apply to the error.
  153.         SYNCMGRERRORFLAG_ENABLEJUMPTEXT =       0x01,   // ShowErrors should be called on this item.
  154.     } SYNCMGRERRORFLAGS;
  155.     typedef struct _tagSYNCMGRLOGERRORINFO {
  156.         DWORD           cbSize;
  157.         DWORD           mask;
  158.         DWORD           dwSyncMgrErrorFlags;
  159.         SYNCMGRERRORID  ErrorID;
  160.         SYNCMGRITEMID   ItemID;
  161.     } SYNCMGRLOGERRORINFO, *LPSYNCMGRLOGERRORINFO;
  162.     HRESULT ShowPropertiesCompleted(
  163.         [in] HRESULT hr);
  164.     HRESULT PrepareForSyncCompleted(
  165.         [in] HRESULT hr);
  166.     HRESULT SynchronizeCompleted(
  167.         [in] HRESULT hr);
  168.     HRESULT ShowErrorCompleted(
  169.         [in] HRESULT hr,
  170.         [in] ULONG cbNumItems,
  171.         [in,unique,size_is(cbNumItems)] SYNCMGRITEMID *pItemIDs);
  172.     HRESULT  EnableModeless(
  173.         [in] BOOL fEnable);
  174.     HRESULT Progress(
  175.         [in] REFSYNCMGRITEMID pItemID,
  176.         [in,unique] LPSYNCMGRPROGRESSITEM lpSyncProgressItem);
  177.     HRESULT  LogError(
  178.         [in] DWORD dwErrorLevel,
  179.         [in] LPCWSTR lpcErrorText,
  180.         [in,unique] LPSYNCMGRLOGERRORINFO lpSyncLogError);
  181.     HRESULT DeleteLogError(
  182.         [in] REFSYNCMGRERRORID ErrorID,
  183.         [in] DWORD dwReserved);
  184.     HRESULT EstablishConnection(
  185.         [in,unique] LPCWSTR lpwszConnection,
  186.         [in] DWORD dwReserved);
  187. }
  188. [
  189.     local,
  190.     object,
  191.     uuid(6295DF2A-35EE-11d1-8707-00C04FD93327), // IID_ISyncMgrEnumItems
  192.     pointer_default(unique)
  193. ]
  194. interface ISyncMgrEnumItems : IUnknown
  195. {
  196.     typedef [unique] ISyncMgrEnumItems *LPSYNCMGRENUMITEMS;
  197.     cpp_quote("#define SYNCMGRITEM_ITEMFLAGMASK  0x1F")
  198.     const USHORT MAX_SYNCMGRITEMNAME = 128;
  199.  
  200.     typedef enum _tagSYNCMGRITEMFLAGS {   // flags for this SyncMgr Item
  201.         SYNCMGRITEM_HASPROPERTIES       =       0x01,   // have a properties dialog for this item
  202.         SYNCMGRITEM_TEMPORARY           =       0x02,   // remove any stored preferences for this item
  203.         SYNCMGRITEM_ROAMINGUSER         =       0x04,   // This item should roam with the User
  204.         SYNCMGRITEM_LASTUPDATETIME      =       0x08,   // Indicates lastUpdateTime Field is valid
  205.         SYNCMGRITEM_MAYDELETEITEM       =       0x10,   // Indicates Item can be deleted fron SyncMgr UI
  206.     } SYNCMGRITEMFLAGS;
  207.     typedef struct _tagSYNCMGRITEM {
  208.         DWORD       cbSize;
  209.         DWORD       dwFlags;
  210.         SYNCMGRITEMID  ItemID;
  211.         DWORD       dwItemState;
  212.         HICON       hIcon;
  213.         WCHAR       wszItemName[MAX_SYNCMGRITEMNAME];
  214.         FILETIME    ftLastUpdate;
  215.     } SYNCMGRITEM, *LPSYNCMGRITEM;
  216.     HRESULT Next(
  217.         [in] ULONG celt,
  218.         [out, size_is(celt), length_is(*pceltFetched)]
  219.         LPSYNCMGRITEM rgelt,
  220.         [out] ULONG *pceltFetched);
  221.     HRESULT Skip(
  222.         [in] ULONG celt);
  223.     HRESULT Reset();
  224.     HRESULT Clone(
  225.         [out] ISyncMgrEnumItems **ppenum);
  226. }
  227. [
  228.     local,
  229.     object,
  230.     uuid(6295DF2C-35EE-11d1-8707-00C04FD93327), // IID_ISyncMgrSynchronizeInvoke
  231.     pointer_default(unique)
  232. ]
  233. interface ISyncMgrSynchronizeInvoke : IUnknown
  234. {
  235.     typedef [unique] ISyncMgrSynchronizeInvoke *LPSYNCMGRSYNCHRONIZEINVOKE;
  236.     typedef enum _tagSYNCMGRINVOKEFLAGS {   // flags for how SyncMgr should be invoked.
  237.         SYNCMGRINVOKE_STARTSYNC =       0x02,   // Immediately start the sync without displaying choices
  238.         SYNCMGRINVOKE_MINIMIZED =       0x04,   // Dialog should be minimized by default
  239.     } SYNCMGRINVOKEFLAGS;
  240.     HRESULT UpdateItems(
  241.         [in] DWORD dwInvokeFlags,
  242.         [in] REFCLSID rclsid,
  243.         [in] DWORD cbCookie,
  244.         [in, unique, size_is(cbCookie)] const BYTE *lpCookie);
  245.     HRESULT UpdateAll();
  246. }
  247. [
  248.     local,
  249.     object,
  250.     uuid(6295DF42-35EE-11d1-8707-00C04FD93327), // IID_ISyncMgrSynchronizeRegister
  251.     pointer_default(unique)
  252. ]
  253. interface ISyncMgrRegister : IUnknown
  254. {
  255.     typedef [unique] ISyncMgrRegister *LPSYNCMGRREGISTER;
  256.     cpp_quote("#define SYNCMGRREGISTERFLAGS_MASK  0x07")
  257.     cpp_quote("")
  258.  
  259.     typedef enum _tagSYNCMGRREGISTERFLAGS {   
  260.         SYNCMGRREGISTERFLAG_CONNECT             =  0x01, // Register to receive Connect Events
  261.         SYNCMGRREGISTERFLAG_PENDINGDISCONNECT   =  0x02, // Register to receive PendingDisconnect Events
  262.         SYNCMGRREGISTERFLAG_IDLE                =  0x04, // Register to receive Idle Events
  263.     } SYNCMGRREGISTERFLAGS;
  264.     HRESULT RegisterSyncMgrHandler(
  265.         [in] REFCLSID rclsidHandler,
  266.         [in,unique] LPCWSTR pwszDescription,
  267.         [in] DWORD dwSyncMgrRegisterFlags);
  268.     HRESULT UnregisterSyncMgrHandler(
  269.         [in] REFCLSID rclsidHandler,
  270.         [in] DWORD dwReserved);
  271.     HRESULT GetHandlerRegistrationInfo(
  272.         [in] REFCLSID rclsidHandler,
  273.         [in,out] LPDWORD pdwSyncMgrRegisterFlags);
  274. }
  275. [
  276. uuid(6295DF27-35EE-11d1-8707-00C04FD93327),
  277. helpstring("Common Synchronization UI service")
  278. ]
  279. coclass SyncMgr
  280. {
  281.     [default, source]   interface ISyncMgrSynchronizeInvoke;
  282. };
  283. cpp_quote("")
  284. cpp_quote("// Declarations for Conflict resolution dialog      ")
  285. cpp_quote("")
  286. cpp_quote("// Flags                                            ")
  287. cpp_quote("#define RFCF_APPLY_ALL           0x0001             ")
  288. cpp_quote("")
  289. // If we require any of the elements in the dialog box, we can call the
  290. // caller back via the callback function and specify what we want
  291. cpp_quote("// Parameter values for RFCCM_NEEDELEMENT (unimplemented)")
  292. cpp_quote("#define RFCD_NAME                0x0001             ")
  293. cpp_quote("#define RFCD_KEEPBOTHICON        0x0002             ")
  294. cpp_quote("#define RFCD_KEEPLOCALICON       0x0004             ")
  295. cpp_quote("#define RFCD_KEEPSERVERICON      0x0008             ")
  296. cpp_quote("#define RFCD_NETWORKMODIFIEDBY   0x0010             ")
  297. cpp_quote("#define RFCD_NETWORKMODIFIEDON   0x0020             ")
  298. cpp_quote("#define RFCD_LOCALMODIFIEDBY     0x0040             ")
  299. cpp_quote("#define RFCD_LOCALMODIFIEDON     0x0080             ")
  300. cpp_quote("#define RFCD_NEWNAME             0x0100             ")
  301. cpp_quote("#define RFCD_LOCATION            0x0200             ")
  302. cpp_quote("#define RFCD_ALL                 0x03FF             ")
  303. cpp_quote("")
  304. // User clicks the view button. This is the message sent to the caller
  305. // via the callback
  306. cpp_quote("// Callback Messages                                ")
  307. cpp_quote("#define RFCCM_VIEWLOCAL          0x0001             ")
  308. cpp_quote("#define RFCCM_VIEWNETWORK        0x0002             ")
  309. cpp_quote("#define RFCCM_NEEDELEMENT        0x0003             ")
  310. cpp_quote("")
  311. cpp_quote("// Return values                                  ")
  312. cpp_quote("#define RFC_CANCEL               0x00             ")
  313. cpp_quote("#define RFC_KEEPBOTH             0x01             ")
  314. cpp_quote("#define RFC_KEEPLOCAL            0x02             ")
  315. cpp_quote("#define RFC_KEEPNETWORK          0x03             ")
  316. cpp_quote("#define RFC_APPLY_TO_ALL         0x10             ")
  317. cpp_quote("")
  318. cpp_quote("typedef BOOL (WINAPI *PFNRFCDCALLBACK)(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam);")
  319. cpp_quote("")
  320. cpp_quote("typedef struct tagRFCDLGPARAMW {                                                 ")
  321. cpp_quote("    DWORD    dwFlags;               // RFCF_*                                    ")
  322. cpp_quote("    LPCWSTR  pszFilename;           // File name of the file conflicted          ")
  323. cpp_quote("    LPCWSTR  pszLocation;           // Location of the file                      ")
  324. cpp_quote("    LPCWSTR  pszNewName;            // The  new name to give the file            ")
  325. cpp_quote("    LPCWSTR  pszNetworkModifiedBy;  // Name of person who changed the net doc    ")
  326. cpp_quote("    LPCWSTR  pszLocalModifiedBy;    // Name of person who changed the local doc  ")
  327. cpp_quote("    LPCWSTR  pszNetworkModifiedOn;  // When the net doc was changed              ")
  328. cpp_quote("    LPCWSTR  pszLocalModifiedOn;    // When the local doc was changed            ")
  329. cpp_quote("    HICON  hIKeepBoth;            // Icon                                      ")
  330. cpp_quote("    HICON hIKeepLocal;           //                                           ")
  331. cpp_quote("    HICON  hIKeepNetwork;         //                                           ")
  332. cpp_quote("    PFNRFCDCALLBACK pfnCallBack;    // Callback                                  ")
  333. cpp_quote("    LPARAM  lCallerData;            // Place where the caller can keep some context data")
  334. cpp_quote("} RFCDLGPARAMW;")
  335. cpp_quote("")
  336. cpp_quote("typedef struct tagRFCDLGPARAMA {")
  337. cpp_quote("    DWORD   dwFlags;                // RFCF_*                                    ")
  338. cpp_quote("    LPCSTR  pszFilename;            // File name of the file conflicted          ")
  339. cpp_quote("    LPCSTR  pszLocation;            // Location of the file                      ")
  340. cpp_quote("    LPCSTR  pszNewName;             // The  new name to give the file            ")
  341. cpp_quote("    LPCSTR  pszNetworkModifiedBy;   // Name of person who changed the net doc    ")
  342. cpp_quote("    LPCSTR  pszLocalModifiedBy;     // Name of person who changed the local doc  ")
  343. cpp_quote("    LPCSTR  pszNetworkModifiedOn;   // When the net doc was changed              ")
  344. cpp_quote("    LPCSTR  pszLocalModifiedOn;     // When the local doc was changed            ")
  345. cpp_quote("    HICON   hIKeepBoth;             // Icon                                      ")
  346. cpp_quote("    HICON   hIKeepLocal;            //                                           ")
  347. cpp_quote("    HICON   hIKeepNetwork;          //                                           ")
  348. cpp_quote("    PFNRFCDCALLBACK pfnCallBack;    // Callback                                  ")
  349. cpp_quote("    LPARAM  lCallerData;            // Place where the caller can keep some context data")
  350. cpp_quote("} RFCDLGPARAMA;")
  351. cpp_quote("")
  352. cpp_quote("")
  353. cpp_quote("int WINAPI SyncMgrResolveConflictW(HWND hWndParent, RFCDLGPARAMW *pdlgParam);")
  354. cpp_quote("int WINAPI SyncMgrResolveConflictA(HWND hWndParent, RFCDLGPARAMA *pdlgParam);")
  355. cpp_quote("")
  356. cpp_quote("#ifdef UNICODE                                                       ")
  357. cpp_quote("#define SyncMgrResolveConflict SyncMgrResolveConflictW               ")
  358. cpp_quote("#define RFCDLGPARAM RFCDLGPARAMW                                     ")
  359. cpp_quote("#else                                                                ")
  360. cpp_quote("#define SyncMgrResolveConflict SyncMgrResolveConflictA               ")
  361. cpp_quote("#define RFCDLGPARAM RFCDLGPARAMA                                     ")
  362. cpp_quote("#endif // !UNICODE                                                   ")
  363. cpp_quote("")