|
|
//**************************************************************************** // // Copyright (c) Microsoft Corporation. All rights reserved. // // File: syncmgrp.idl // // Contents: Private Interfaces for SyncMgr Manager // //****************************************************************************
#ifndef DO_NO_IMPORTS import "objidl.idl"; import "oleidl.idl"; import "mstask.idl"; import "mobsync.idl"; #endif
interface IPrivSyncMgrSynchronizeInvoke; interface ISyncScheduleMgr; interface IEnumSyncSchedules; interface ISyncSchedule; interface IEnumSyncItems;
typedef GUID SYNCSCHEDULECOOKIE;
// declare proxy value so can define when building proxy/stub so don't have // to worry about midl picking the wrong value. This value is same as // IPrivSyncMgrSynchronizeInvoke since this was the only // interface originally not local
// {6295DF2E-35EE-11d1-8707-00C04FD93327} cpp_quote("DEFINE_GUID(CLSID_SyncMgrProxy,0x6295df2e, 0x35ee, 0x11d1, 0x87, 0x7, 0x0, 0xc0, 0x4f, 0xd9, 0x33, 0x27);")
// {6295DF2D-35EE-11d1-8707-00C04FD93327} cpp_quote("DEFINE_GUID(CLSID_SyncMgrp,0x6295df2d, 0x35ee, 0x11d1, 0x87, 0x7, 0x0, 0xc0, 0x4f, 0xd9, 0x33, 0x27);")
// {6295DF2E-35EE-11d1-8707-00C04FD93327} cpp_quote("DEFINE_GUID(IID_IPrivSyncMgrSynchronizeInvoke,0x6295df2e, 0x35ee, 0x11d1, 0x87, 0x7, 0x0, 0xc0, 0x4f, 0xd9, 0x33, 0x27);")
// {F0E15897-A700-11d1-9831-00C04FD910DD} cpp_quote("DEFINE_GUID(IID_ISyncScheduleMgr,0xf0e15897, 0xa700, 0x11d1, 0x98, 0x31, 0x0, 0xc0, 0x4f, 0xd9, 0x10, 0xdd);")
// {F0E15898-A700-11d1-9831-00C04FD910DD} cpp_quote("DEFINE_GUID(IID_IEnumSyncSchedules,0xf0e15898, 0xa700, 0x11d1, 0x98, 0x31, 0x0, 0xc0, 0x4f, 0xd9, 0x10, 0xdd);")
// {F0E15899-A700-11d1-9831-00C04FD910DD} cpp_quote("DEFINE_GUID(IID_ISyncSchedule,0xf0e15899, 0xa700, 0x11d1, 0x98, 0x31, 0x0, 0xc0, 0x4f, 0xd9, 0x10, 0xdd);")
// {F0E1589A-A700-11d1-9831-00C04FD910DD} cpp_quote("DEFINE_GUID(IID_IEnumSyncItems,0xf0e1589a, 0xa700, 0x11d1, 0x98, 0x31, 0x0, 0xc0, 0x4f, 0xd9, 0x10, 0xdd);")
// {F0E1589B-A700-11d1-9831-00C04FD910DD} cpp_quote("DEFINE_GUID(IID_ISyncSchedulep,0xf0e1589b, 0xa700, 0x11d1, 0x98, 0x31, 0x0, 0xc0, 0x4f, 0xd9, 0x10, 0xdd);")
// {6295DF2F-35EE-11d1-8707-00C04FD93327} cpp_quote("DEFINE_GUID(GUID_SENSSUBSCRIBER_SYNCMGRP,0x6295df2f, 0x35ee, 0x11d1, 0x87, 0x7, 0x0, 0xc0, 0x4f, 0xd9, 0x33, 0x27);")
// {6295DF30-35EE-11d1-8707-00C04FD93327} cpp_quote("DEFINE_GUID(GUID_SENSLOGONSUBSCRIPTION_SYNCMGRP,0x6295df30, 0x35ee, 0x11d1, 0x87, 0x7, 0x0, 0xc0, 0x4f, 0xd9, 0x33, 0x27);")
// {6295DF31-35EE-11d1-8707-00C04FD93327} cpp_quote("DEFINE_GUID(GUID_SENSLOGOFFSUBSCRIPTION_SYNCMGRP,0x6295df31, 0x35ee, 0x11d1, 0x87, 0x7, 0x0, 0xc0, 0x4f, 0xd9, 0x33, 0x27);") cpp_quote("")
// Internal SyncMgr guids // define guids we use internally
// Progress Idle dialog ID // {F897AA23-BDC3-11d1-B85B-00C04FB93981} cpp_quote("DEFINE_GUID(GUID_PROGRESSDLGIDLE,0xf897aa23, 0xbdc3, 0x11d1, 0xb8, 0x5b, 0x0, 0xc0, 0x4f, 0xb9, 0x39, 0x81);") cpp_quote("")
// guid for creating an Idle schedule. // {F897AA24-BDC3-11d1-B85B-00C04FB93981} cpp_quote("#define SZGUID_IDLESCHEDULE TEXT(\"{F897AA24-BDC3-11d1-B85B-00C04FB93981}\")") cpp_quote("#define WSZGUID_IDLESCHEDULE L\"{F897AA24-BDC3-11d1-B85B-00C04FB93981}\"") cpp_quote("DEFINE_GUID(GUID_IDLESCHEDULE,0xf897aa24, 0xbdc3, 0x11d1, 0xb8, 0x5b, 0x0, 0xc0, 0x4f, 0xb9, 0x39, 0x81);") cpp_quote("")
// Error codes specific to SyncMgr interfaces cpp_quote("#define SYNCMGR_E_NAME_IN_USE MAKE_SCODE(SEVERITY_ERROR,FACILITY_ITF,0x0201)") cpp_quote("#define SYNCMGR_E_ITEM_UNREGISTERED MAKE_SCODE(SEVERITY_ERROR,FACILITY_ITF,0x0202)") cpp_quote("#define SYNCMGR_E_HANDLER_NOT_LOADED MAKE_SCODE(SEVERITY_ERROR,FACILITY_ITF,0x0203)")
cpp_quote("//Autosync reg entry values") cpp_quote("#define AUTOSYNC_WAN_LOGON 0x0001") cpp_quote("#define AUTOSYNC_WAN_LOGOFF 0x0002") cpp_quote("#define AUTOSYNC_LAN_LOGON 0x0004") cpp_quote("#define AUTOSYNC_LAN_LOGOFF 0x0008") cpp_quote("#define AUTOSYNC_SCHEDULED 0x0010") cpp_quote("#define AUTOSYNC_IDLE 0x0020") cpp_quote("#define AUTOSYNC_LOGONWITHRUNKEY 0x0040")
cpp_quote("#define AUTOSYNC_LOGON (AUTOSYNC_WAN_LOGON | AUTOSYNC_LAN_LOGON) ") cpp_quote("#define AUTOSYNC_LOGOFF (AUTOSYNC_WAN_LOGOFF | AUTOSYNC_LAN_LOGOFF) ") cpp_quote("")
[ object, uuid(6295DF2E-35EE-11d1-8707-00C04FD93327), // IID_IPrivSyncMgrSynchronizeInvoke pointer_default(unique) ] interface IPrivSyncMgrSynchronizeInvoke : IUnknown {
typedef [unique] IPrivSyncMgrSynchronizeInvoke *LPPRIVSYNCMGRSYNCHRONIZEINVOKE;
HRESULT UpdateItems( [in] DWORD dwInvokeFlags, [in] REFCLSID rclsid, [in] DWORD cbCookie, [in, unique, size_is(cbCookie)] const BYTE *lpCookie);
HRESULT UpdateAll(); // same al calling update all with 0 set for the invoke flags. HRESULT Logon(); HRESULT Logoff(); HRESULT Schedule([in,unique,string] WCHAR *pszTaskName); HRESULT RasPendingDisconnect( [in] DWORD cbConnectionName, [in, unique, size_is(cbConnectionName)] const BYTE *lpConnectionName ); HRESULT Idle(); }
// Scheduling interfaces
cpp_quote("#define SYNCSCHEDINFO_FLAGS_MASK 0x0FFF") cpp_quote("#define SYNCSCHEDINFO_FLAGS_READONLY 0x0001") cpp_quote("#define SYNCSCHEDINFO_FLAGS_AUTOCONNECT 0x0002") cpp_quote("#define SYNCSCHEDINFO_FLAGS_HIDDEN 0x0004")
cpp_quote("#define SYNCSCHEDWIZARD_SHOWALLHANDLERITEMS 0x1000") cpp_quote("")
[ local, object, uuid(F0E15897-A700-11d1-9831-00C04FD910DD), // IID_ISyncScheduleMgr pointer_default(unique) ] interface ISyncScheduleMgr : IUnknown { typedef [unique] ISyncScheduleMgr *LPSYNCSCHEDULEMGR;
HRESULT CreateSchedule( [in] LPCWSTR pwszScheduleName, [in] DWORD dwFlags, [in,out] SYNCSCHEDULECOOKIE *pSyncSchedCookie, [out] ISyncSchedule **ppSyncSchedule);
HRESULT LaunchScheduleWizard( [in] HWND hParent, [in] DWORD dwFlags, [in, out] SYNCSCHEDULECOOKIE *pSyncSchedCookie, [out] ISyncSchedule ** ppSyncSchedule);
HRESULT OpenSchedule( [in] SYNCSCHEDULECOOKIE *pSyncSchedCookie, [in] DWORD dwFlags, [out] ISyncSchedule **ppSyncSchedule);
HRESULT RemoveSchedule( [in] SYNCSCHEDULECOOKIE *pSyncSchedCookie);
HRESULT EnumSyncSchedules( [out] IEnumSyncSchedules **ppEnumSyncSchedules);
}
cpp_quote("#define SYNCSCHEDINFO_FLAGS_CONNECTION_LAN 0x0000") cpp_quote("#define SYNCSCHEDINFO_FLAGS_CONNECTION_WAN 0x0001")
[ local, object, uuid(F0E15898-A700-11d1-9831-00C04FD910DD), // IID_IEnumSyncSchedules pointer_default(unique) ] interface IEnumSyncSchedules : IUnknown { HRESULT Next( [in] ULONG celt, [out, size_is(celt), length_is(*pceltFetched)] SYNCSCHEDULECOOKIE *pSyncSchedCookie, [out] ULONG *pceltFetched);
HRESULT Skip( [in] ULONG celt);
HRESULT Reset(void);
HRESULT Clone( [out] IEnumSyncSchedules **ppEnumSyncSchedules);
} typedef struct _tagSYNC_HANDLER_ITEM_INFO { GUID handlerID; SYNCMGRITEMID itemID; HICON hIcon; WCHAR wszItemName[MAX_SYNCMGRITEMNAME]; DWORD dwCheckState; } SYNC_HANDLER_ITEM_INFO, *LPSYNC_HANDLER_ITEM_INFO;
[ local, object, uuid(F0E15899-A700-11d1-9831-00C04FD910DD), // IID_ISyncSchedule pointer_default(unique) ] interface ISyncSchedule : IUnknown {
HRESULT GetFlags( [out] DWORD *pdwFlags);
HRESULT SetFlags( [in] DWORD dwFlags);
HRESULT GetConnection( [in, out] DWORD *pcbSize, [out] LPWSTR pwszConnectionName, [out] DWORD *pdwConnType);
HRESULT SetConnection( [in] LPCWSTR pwszConnectionName, [in] DWORD dwConnType);
HRESULT GetScheduleName( [in, out] DWORD *pcbSize, [out] LPWSTR pwszScheduleName);
HRESULT SetScheduleName( [in] LPCWSTR pwszScheduleName);
HRESULT GetScheduleCookie( [out] SYNCSCHEDULECOOKIE *pSyncSchedCookie);
HRESULT SetAccountInformation( [in] LPCWSTR pwszAccountName, [in] LPCWSTR pwszPassword);
HRESULT GetAccountInformation( [in, out] DWORD *pcbSize, [out] LPWSTR pwszAccountName);
HRESULT GetTrigger( [out] ITaskTrigger ** ppTrigger);
HRESULT GetNextRunTime( [out] SYSTEMTIME * pstNextRun);
HRESULT GetMostRecentRunTime( [out] SYSTEMTIME * pstRecentRun);
HRESULT EditSyncSchedule( [in] HWND hParent, [in] DWORD dwReserved);
HRESULT AddItem( [in] LPSYNC_HANDLER_ITEM_INFO pHandlerItemInfo);
HRESULT RegisterItems( [in] REFCLSID pHandlerID, [in] SYNCMGRITEMID *pItemID);
HRESULT UnregisterItems( [in] REFCLSID pHandlerID, [in] SYNCMGRITEMID *pItemID);
HRESULT SetItemCheck( [in] REFCLSID pHandlerID, [in] SYNCMGRITEMID *pItemID, [in] DWORD dwCheckState);
HRESULT GetItemCheck( [in] REFCLSID pHandlerID, [in] SYNCMGRITEMID *pItemID, [out] DWORD *pdwCheckState);
HRESULT EnumItems( [in] REFCLSID pHandlerID, [in] IEnumSyncItems **ppEnumItems);
HRESULT Save();
HRESULT GetITask( [out] ITask ** ppITask); }
[ local, object, uuid(F0E1589B-A700-11d1-9831-00C04FD910DD), // IID_ISyncSchedulep pointer_default(unique) ] interface ISyncSchedulep : ISyncSchedule { typedef [unique] ISyncSchedulep *LPSYNCSCHEDULEP;
HRESULT GetHandlerInfo([in] REFCLSID pHandlerID, [out] LPSYNCMGRHANDLERINFO *ppSyncMgrHandlerInfo); }
[ local, object, uuid(F0E1589A-A700-11d1-9831-00C04FD910DD), // IID_IEnumSyncItems pointer_default(unique) ] interface IEnumSyncItems : IUnknown {
HRESULT Next( [in] ULONG celt, [out, size_is(celt), length_is(*pceltFetched)] LPSYNC_HANDLER_ITEM_INFO rgelt, [out] ULONG * pceltFetched);
HRESULT Skip( [in] ULONG celt);
HRESULT Reset(void);
HRESULT Clone( [out] IEnumSyncItems ** ppEnumSyncItems);
}
// temporary definitions of interfaces before changed (6/10/98) so existing clients don't break. // should be able to remove before IE 5 beta2.
cpp_quote("#define SYNCMGRITEM_ITEMFLAGMASKNT5B2 0x07") const USHORT MAX_SYNCMGRITEMSTATUS = 128;
typedef struct _tagSYNCMGRITEMNT5B2 { DWORD cbSize; DWORD dwFlags; SYNCMGRITEMID ItemID; DWORD dwItemState; HICON hIcon; WCHAR wszItemName[MAX_SYNCMGRITEMNAME]; WCHAR wszStatus[MAX_SYNCMGRITEMSTATUS]; } SYNCMGRITEMNT5B2, *LPSYNCMGRITEMNT5B2;
interface IOldSyncMgrSynchronize; interface IOldSyncMgrSynchronizeCallback; interface IOldSyncMgrRegister;
// {6295DF29-35EE-11d1-8707-00C04FD93327} cpp_quote("DEFINE_GUID(IID_IOldSyncMgrSynchronize,0x6295df28, 0x35ee, 0x11d1, 0x87, 0x7, 0x0, 0xc0, 0x4f, 0xd9, 0x33, 0x27);")
// {6295DF28-35EE-11d1-8707-00C04FD93327} cpp_quote("DEFINE_GUID(IID_IOldSyncMgrSynchronizeCallback,0x6295df29, 0x35ee, 0x11d1, 0x87, 0x7, 0x0, 0xc0, 0x4f, 0xd9, 0x33, 0x27);")
// {894D8C55-BDDF-11d1-B85D-00C04FB93981} cpp_quote("DEFINE_GUID(IID_IOldSyncMgrRegister,0x894d8c55, 0xbddf, 0x11d1, 0xb8, 0x5d, 0x0, 0xc0, 0x4f, 0xb9, 0x39, 0x81);")
[ local, object, uuid(6295DF28-35EE-11d1-8707-00C04FD93327) // IID_IOldSyncMgrSynchronize ] interface IOldSyncMgrSynchronize: IUnknown { typedef [unique] IOldSyncMgrSynchronize *LPOLDSYNCMGRSYNCHRONIZE;
HRESULT Initialize( [in] DWORD dwReserved, [in] DWORD dwSyncMgrFlags, [in] DWORD cbCookie, [in] BYTE const*lpCookie);
HRESULT GetHandlerInfo( [out] LPSYNCMGRHANDLERINFO *ppSyncMgrHandlerInfo);
HRESULT EnumSyncMgrItems( [out] ISyncMgrEnumItems **ppSyncMgrEnumItems);
HRESULT GetItemObject( [in] REFSYNCMGRITEMID ItemID, [in] REFIID riid, [out] void** ppv);
HRESULT ShowProperties( [in] HWND hWndParent, [in] REFSYNCMGRITEMID ItemID);
HRESULT SetProgressCallback( [in] IOldSyncMgrSynchronizeCallback *lpCallBack);
HRESULT PrepareForSync( [in] ULONG cbNumItems, [in] SYNCMGRITEMID* pItemIDs, [in] HWND hWndParent, [in] DWORD dwReserved);
HRESULT Synchronize( [in] HWND hWndParent);
HRESULT SetItemStatus( [in] REFSYNCMGRITEMID pItemID, [in] DWORD dwSyncMgrStatus); HRESULT ShowError( [in] HWND hWndParent, [in] REFSYNCMGRERRORID ErrorID, [out] ULONG *pcbNumItems, [out] SYNCMGRITEMID **ppItemIDs);
}
[ local, object, uuid(6295DF29-35EE-11d1-8707-00C04FD93327) // IID_IOldSyncMgrSynchronizeCallback ] interface IOldSyncMgrSynchronizeCallback: IUnknown { typedef [unique] IOldSyncMgrSynchronizeCallback *LPOLDSYNCMGRSYNCHRONIZECALLBACK;
HRESULT Progress( [in] REFSYNCMGRITEMID pItemID, [in] LPSYNCMGRPROGRESSITEM lpSyncProgressItem);
HRESULT PrepareForSyncCompleted(HRESULT hr);
HRESULT SynchronizeCompleted(HRESULT hr);
HRESULT EnableModeless( [in] BOOL fEnable);
HRESULT LogError( [in] DWORD dwErrorLevel, [in] const WCHAR *lpcErrorText, [in] LPSYNCMGRLOGERRORINFO lpSyncLogError);
HRESULT DeleteLogError( [in] REFSYNCMGRERRORID ErrorID, [in] DWORD dwReserved);
}
[ local, object, uuid(894D8C55-BDDF-11d1-B85D-00C04FB93981), // IID_IOldSyncMgrSynchronizeRegister pointer_default(unique) ] interface IOldSyncMgrRegister : IUnknown {
typedef [unique] IOldSyncMgrRegister *LPOLDSYNCMGRREGISTER;
HRESULT RegisterSyncMgrHandler( [in] REFCLSID rclsidHandler, [in] DWORD dwReserved);
HRESULT UnregisterSyncMgrHandler( [in] REFCLSID rclsidHandler, [in] DWORD dwReserved); }
interface ISyncMgrRegisterCSC;
// {47681A61-BC74-11d2-B5C5-00C04FB93981} cpp_quote("DEFINE_GUID(IID_ISyncMgrRegisterCSC,0x47681a61, 0xbc74, 0x11d2, 0xb5, 0xc5, 0x0, 0xc0, 0x4f, 0xb9, 0x39, 0x81);")
[ local, object, uuid(47681A61-BC74-11d2-B5C5-00C04FB93981), // IID_ISyncMgrRegisterCSC pointer_default(unique) ] interface ISyncMgrRegisterCSC : ISyncMgrRegister {
typedef [unique] ISyncMgrRegisterCSC *LPSYNCMGRREGISTERCSC;
HRESULT GetUserRegisterFlags( [out] LPDWORD pdwSyncMgrRegisterFlags);
HRESULT SetUserRegisterFlags( [in] DWORD dwSyncMgrRegisterMask, [in] DWORD dwSyncMgrRegisterFlags);
}
|