1#ifndef _EXPLORER_PRECOMP__H_
2#define _EXPLORER_PRECOMP__H_
4#define WIN7_COMPAT_MODE 0
5#define WIN7_DEBUG_MODE 0
7#if WIN7_DEBUG_MODE && !WIN7_COMPAT_MODE
9#define WIN7_COMPAT_MODE 1
15#define WIN32_NO_STATUS
17#define COM_NO_WINDOWS_H
60 Win32DbgPrint(__FILE__, __LINE__, "ASSERTION %s FAILED!\n", #cond); \
131#define TWM_GETTASKSWITCH (WM_USER + 236)
132#define TWM_OPENSTARTMENU (WM_USER + 260)
133#define TWM_SETTINGSCHANGED (WM_USER + 300)
134#define TWM_PULSE (WM_USER + 400)
138#define INTERFACE ITrayWindow
158#if defined(COBJMACROS)
160#define ITrayWindow_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
161#define ITrayWindow_AddRef(p) (p)->lpVtbl->AddRef(p)
162#define ITrayWindow_Release(p) (p)->lpVtbl->Release(p)
164#define ITrayWindow_Open(p) (p)->lpVtbl->Open(p)
165#define ITrayWindow_Close(p) (p)->lpVtbl->Close(p)
166#define ITrayWindow_GetHWND(p) (p)->lpVtbl->GetHWND(p)
167#define ITrayWindow_IsSpecialHWND(p,a) (p)->lpVtbl->IsSpecialHWND(p,a)
168#define ITrayWindow_IsHorizontal(p) (p)->lpVtbl->IsHorizontal(p)
169#define ITrayWindow_DisplayProperties(p) (p)->lpVtbl->DisplayProperties(p)
170#define ITrayWindow_ExecContextMenuCmd(p,a) (p)->lpVtbl->ExecContextMenuCmd(p,a)
171#define ITrayWindow_Lock(p,a) (p)->lpVtbl->Lock(p,a)
172#define ITrayWindow_IsTaskWnd(p,a) (p)->lpVtbl->IsTaskWnd(p,a)
296#define INTERFACE ITrayBandSite
314#if defined(COBJMACROS)
316#define ITrayBandSite_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
317#define ITrayBandSite_AddRef(p) (p)->lpVtbl->AddRef(p)
318#define ITrayBandSite_Release(p) (p)->lpVtbl->Release(p)
320#define ITrayBandSite_OnLoad(p,a,b,c) (p)->lpVtbl->OnLoad(p,a,b,c)
321#define ITrayBandSite_OnSave(p,a,b) (p)->lpVtbl->OnSave(p,a,b)
323#define ITrayBandSite_IsTaskBand(p,a) (p)->lpVtbl->IsTaskBand(p,a)
324#define ITrayBandSite_ProcessMessage(p,a,b,c,d,e) (p)->lpVtbl->ProcessMessage(p,a,b,c,d,e)
325#define ITrayBandSite_AddContextMenus(p,a,b,c,d,e,f) (p)->lpVtbl->AddContextMenus(p,a,b,c,d,e,f)
326#define ITrayBandSite_Lock(p,a) (p)->lpVtbl->Lock(p,a)
370#define TNWM_GETMINIMUMSIZE (WM_USER + 0x100)
371#define TNWM_CHANGETRAYPOS (WM_USER + 0x104)
372#define TNWM_GETSHOWDESKTOPBUTTON (WM_USER + 0x7601)
374#define NTNWM_REALIGN (0x1)
387#define TSWM_UPDATETASKBARPOS (WM_USER + 2)
#define WINE_DEFAULT_DEBUG_CHANNEL(t)
VOID DisplayTrayProperties(IN HWND hwndOwner, IN HWND hwndTaskbar)
const GUID IID_IShellDesktopTray
HMENU FindSubMenu(IN HMENU hMenu, IN UINT uItem, IN BOOL fByPosition)
VOID DesktopDestroyShellWindow(IN HANDLE hDesktop)
HRESULT CTrayClockWnd_CreateInstance(HWND hwndParent, REFIID riid, void **ppv)
BOOL FormatMenuString(IN HMENU hMenu, IN UINT uPosition, IN UINT uFlags,...)
BOOL SetAdvancedDword(IN LPCWSTR pszValueName, IN DWORD dwValue)
HRESULT CSysPagerWnd_CreateInstance(HWND hwndParent, REFIID riid, void **ppv)
struct _TW_STUCKRECTS2 TW_STRUCKRECTS2
HRESULT UpdateStartMenu(IN OUT IMenuPopup *pMenuPopup, IN HBITMAP hbmBanner OPTIONAL, IN BOOL bSmallIcons, IN BOOL bRefresh)
VOID TrayMessageLoop(IN OUT ITrayWindow *Tray)
BOOL GetAdvancedBool(IN LPCWSTR pszValueName, IN BOOL bDefaultValue)
HRESULT WINAPI _CBandSite_CreateInstance(LPUNKNOWN pUnkOuter, REFIID riid, void **ppv)
HRESULT CStartMenuBtnCtxMenu_CreateInstance(ITrayWindow *TrayWnd, IN HWND hWndOwner, IContextMenu **ppCtxMenu)
HRESULT CTaskSwitchWnd_CreateInstance(IN HWND hWndParent, IN OUT ITrayWindow *Tray, REFIID riid, void **ppv)
HMENU LoadPopupMenu(IN HINSTANCE hInstance, IN LPCWSTR lpMenuName)
VOID TrayProcessMessages(IN OUT ITrayWindow *Tray)
BOOL WINAPI _SHDesktopMessageLoop(HANDLE hDesktop)
IMenuPopup * CreateStartMenu(IN ITrayWindow *Tray, OUT IMenuBand **ppMenuBand, IN HBITMAP hbmBanner OPTIONAL, IN BOOL bSmallIcons)
HRESULT CStartMenuSite_CreateInstance(IN OUT ITrayWindow *Tray, const IID &riid, PVOID *ppv)
HRESULT WINAPI _CBandSiteMenu_CreateInstance(REFIID riid, void **ppv)
static VOID DoFinishStartupItems()
VOID ReleaseStartupMutex()
HRESULT Tray_OnStartMenuDismissed(ITrayWindow *Tray)
void WINAPI _ShellDDEInit(BOOL bInit)
DWORD WINAPI _WinList_Init(void)
HRESULT CreateTrayWindow(ITrayWindow **ppTray)
TaskbarSettings g_TaskbarSettings
VOID ShowCustomizeClassic(HINSTANCE, HWND)
HANDLE DesktopCreateWindow(IN OUT ITrayWindow *Tray)
BOOL GetCurrentLoggedOnUserName(OUT LPWSTR szBuffer, IN DWORD dwBufferSize)
VOID ProcessRunOnceItems()
HRESULT CTrayNotifyWnd_CreateInstance(HWND hwndParent, REFIID riid, void **ppv)
struct _TW_STUCKRECTS2 * PTW_STUCKRECTS2
HRESULT CTrayBandSite_CreateInstance(IN ITrayWindow *tray, IN IDeskBand *pTaskBand, OUT ITrayBandSite **pBandSite)
HRESULT IsSameObject(IN IUnknown *punk1, IN IUnknown *punk2)
BOOL SetRegDword(IN LPCWSTR pszSubKey, IN LPCWSTR pszValueName, IN DWORD dwValue)
BOOL GetRegValue(IN LPCWSTR pszSubKey, IN LPCWSTR pszValueName, IN BOOL bDefaultValue)
static INT ProcessStartupItems()
HANDLE WINAPI _SHCreateDesktop(IShellDesktopTray *ShellDesk)
const GUID CLSID_ITaskBand
VOID ShowCustomizeNotifyIcons(HINSTANCE, HWND)
HINSTANCE hExplorerInstance
HRESULT InitShellServices(HDPA *phdpa)
BOOL DoStartStartupItems(ITrayWindow *Tray)
HRESULT CTaskBand_CreateInstance(IN ITrayWindow *Tray, HWND hWndStartButton, REFIID riid, void **ppv)
HRESULT ShutdownShellServices(HDPA hdpa)
HRESULT WINAPI _CStartMenu_CreateInstance(REFIID riid, void **ppv)
#define DECLARE_INTERFACE_(i, b)
LONG WINAPI SHSetWindowBits(HWND hwnd, INT offset, UINT mask, UINT flags)
static void *static void *static LPDIRECTPLAY IUnknown * pUnk
#define SetWindowStyle(hwnd, val)
#define SetWindowExStyle(h, val)
static HRESULT QueryInterface(REFIID, void **)
static ULONG WINAPI AddRef(IStream *iface)
static const CLSID *static CLSID *static const GUID VARIANT VARIANT *static IServiceProvider DWORD *static HMENU
PULONG MinorVersion OPTIONAL
TrayIconsMode eCompactTrayIcons
BOOL UseCompactTrayIcons()
_Must_inspect_result_ _In_opt_ PWDF_OBJECT_ATTRIBUTES _Out_ WDFWAITLOCK * Lock
_In_ void _In_ PCCERT_CONTEXT _In_opt_ LPFILETIME _In_ DWORD _In_ DWORD _Outptr_opt_ void ** ppvObject