//+------------------------------------------------------------------------- // // Microsoft Windows // // Copyright (C) Microsoft Corporation, 1997 - 2000 // // File: update.h // //-------------------------------------------------------------------------- #ifndef __INCLUDE_CSCUIEXT_H #define __INCLUDE_CSCUIEXT_H // // Semi-public header for CSCUI.DLL. // CSCUI.DLL provides the user interface for client-side caching. // The code interacts with the CSC agent, Sync Manager (mobsync), // winlogon, the shell, and the system tray (systray.exe). // // STDAPI_(HWND) CSCUIInitialize(HANDLE hToken, DWORD dwFlags); STDAPI_(LRESULT) CSCUISetState(UINT uMsg, WPARAM wParam, LPARAM lParam); typedef HWND (*PFNCSCUIINITIALIZE)(HANDLE hToken, DWORD dwFlags); // // Flags for CSCUIInitialize // #define CI_INITIALIZE 0x0001 #define CI_TERMINATE 0x0002 #define CI_CREATEWINDOW 0x0004 #define CI_DESTROYWINDOW 0x0008 // // These values are returned by CSCUISetState(). // #define LRESULT_CSCWORKOFFLINE 1011 #define LRESULT_CSCFAIL 1012 #define LRESULT_CSCRETRY 1016 // // These values are passed to CSCUISetState() as the uMsg arg. // #define STWM_CSCNETUP (WM_USER + 209) #define STWM_CSCQUERYNETDOWN (WM_USER + 210) #define STWM_CSCCLOSEDIALOGS (WM_USER + 212) #define STWM_CSCNETDOWN (WM_USER + 213) #define STWM_CACHE_CORRUPTED (WM_USER + 214) // // These values are passed to CSCUISetState() as the wParam arg. // #define CSCUI_NO_AUTODIAL 0 #define CSCUI_AUTODIAL_FOR_UNCACHED_SHARE 1 #define CSCUI_AUTODIAL_FOR_CACHED_SHARE 2 // // These messages are private for the CSCUI hidden notification // window in systray.exe. // #define CSCWM_DONESYNCING (WM_USER + 300) #define CSCWM_UPDATESTATUS (WM_USER + 301) #define CSCWM_RECONNECT (WM_USER + 302) #define CSCWM_SYNCHRONIZE (WM_USER + 303) #define CSCWM_ISSERVERBACK (WM_USER + 304) #define CSCWM_VIEWFILES (WM_USER + 305) #define CSCWM_SETTINGS (WM_USER + 306) #define CSCWM_GETSHARESTATUS (WM_USER + 307) // // These constants are obtained by sending a CSCWM_GETSHARESTATUS // message to the CSCUI hidden window. They correspond to the // OfflineFolderStatus enumeration constants defined in shldisp.h. // These must remain in sync for the shell folder webview to work properly. // #define CSC_SHARESTATUS_INACTIVE -1 // Same as OFS_INACTIVE #define CSC_SHARESTATUS_ONLINE 0 // Same as OFS_ONLINE #define CSC_SHARESTATUS_OFFLINE 1 // Same as OFS_OFFLINE #define CSC_SHARESTATUS_SERVERBACK 2 // Same as OFS_SERVERBACK #define CSC_SHARESTATUS_DIRTYCACHE 3 // Same as OFS_DIRTYCACHE // // Class name and title for the CSCUI hidden notification window. // #define STR_CSCHIDDENWND_CLASSNAME TEXT("CSCHiddenWindow") #define STR_CSCHIDDENWND_TITLE TEXT("CSC Notifications Window") // // Function for deleting folders & contents from the cache. // // pszFolder -- UNC path of folder to remove // pfnCB -- optional, may be NULL. Return FALSE to abort, TRUE to continue. // lParam -- passed to pfnCB // typedef BOOL (CALLBACK *PFN_CSCUIRemoveFolderCallback)(LPCWSTR, LPARAM); STDAPI CSCUIRemoveFolderFromCache(LPCWSTR pszFolder, DWORD dwReserved, PFN_CSCUIRemoveFolderCallback pfnCB, LPARAM lParam); // // One of these is returned in the *pdwTsMode // argument to CSCUI_IsTerminalServerCompatibleWithCSC API. // // CSCTSF_ = "CSC Terminal Server Flag" // #define CSCTSF_UNKNOWN 0 // Can't obtain TS status. #define CSCTSF_CSC_OK 1 // OK to use CSC. #define CSCTSF_APP_SERVER 2 // TS is configured as an app server. #define CSCTSF_MULTI_CNX 3 // Multiple connections are allowed. #define CSCTSF_REMOTE_CNX 4 // There are currently remote connections active. #define CSCTSF_FUS_ENABLED 5 // Fast User Switching is enabled. #define CSCTSF_COUNT 6 // // Returns: // S_OK - Terminal Server is in a mode that is compatible with CSC. // S_FALSE - Not OK to use CSC. Inspect *pdwTsMode for reason. // other - Failure. *pdwTsMode contains CSCTSF_UNKNOWN. // HRESULT CSCUIIsTerminalServerCompatibleWithCSC(DWORD *pdwTsMode); #endif // __INCLUDE_CSCUIEXT_H