1 #ifndef _STOBJECT_PRECOMP_H_ 2 #define _STOBJECT_PRECOMP_H_ 3 4 #define WIN32_NO_STATUS 5 #include <stdarg.h> 6 #include <tchar.h> 7 8 #define COBJMACROS 9 #define WIN32_NO_STATUS 10 #define _INC_WINDOWS 11 #define COM_NO_WINDOWS_H 12 #define NTOS_MODE_USER 13 14 #include <windef.h> 15 #include <winbase.h> 16 #include <shlguid_undoc.h> 17 #include <shlobj.h> 18 #include <strsafe.h> 19 #include <atlbase.h> 20 #include <atlcom.h> 21 #include <atlwin.h> 22 #include <atlstr.h> 23 #include <setupapi.h> 24 #include <shellapi.h> 25 26 #include <wine/debug.h> 27 WINE_DEFAULT_DEBUG_CHANNEL(stobject); 28 29 #include "resource.h" 30 31 extern HINSTANCE g_hInstance; 32 33 #define ID_ICON_VOLUME (WM_APP + 0x4CB) 34 #define ID_ICON_HOTPLUG (WM_APP + 0x4CC) 35 #define ID_ICON_POWER (WM_APP + 0x4CD) 36 37 #include "csystray.h" 38 39 typedef HRESULT(STDMETHODCALLTYPE * PFNSTINIT) (_In_ CSysTray * pSysTray); 40 typedef HRESULT(STDMETHODCALLTYPE * PFNSTSHUTDOWN) (_In_ CSysTray * pSysTray); 41 typedef HRESULT(STDMETHODCALLTYPE * PFNSTUPDATE) (_In_ CSysTray * pSysTray); 42 typedef HRESULT(STDMETHODCALLTYPE * PFNSTMESSAGE) (_In_ CSysTray * pSysTray, UINT uMsg, WPARAM wParam, LPARAM lParam, LRESULT &lResult); 43 44 struct SysTrayIconHandlers_t 45 { 46 PFNSTINIT pfnInit; 47 PFNSTSHUTDOWN pfnShutdown; 48 PFNSTUPDATE pfnUpdate; 49 PFNSTMESSAGE pfnMessage; 50 }; 51 52 extern SysTrayIconHandlers_t g_IconHandlers[]; 53 extern const int g_NumIcons; 54 55 /* --------------- Icon callbacks ------------------------------ */ 56 57 extern HRESULT STDMETHODCALLTYPE Volume_Init(_In_ CSysTray * pSysTray); 58 extern HRESULT STDMETHODCALLTYPE Volume_Shutdown(_In_ CSysTray * pSysTray); 59 extern HRESULT STDMETHODCALLTYPE Volume_Update(_In_ CSysTray * pSysTray); 60 extern HRESULT STDMETHODCALLTYPE Volume_Message(_In_ CSysTray * pSysTray, UINT uMsg, WPARAM wParam, LPARAM lParam, LRESULT &lResult); 61 62 extern HRESULT STDMETHODCALLTYPE Hotplug_Init(_In_ CSysTray * pSysTray); 63 extern HRESULT STDMETHODCALLTYPE Hotplug_Shutdown(_In_ CSysTray * pSysTray); 64 extern HRESULT STDMETHODCALLTYPE Hotplug_Update(_In_ CSysTray * pSysTray); 65 extern HRESULT STDMETHODCALLTYPE Hotplug_Message(_In_ CSysTray * pSysTray, UINT uMsg, WPARAM wParam, LPARAM lParam, LRESULT &lResult); 66 67 extern HRESULT STDMETHODCALLTYPE Power_Init(_In_ CSysTray * pSysTray); 68 extern HRESULT STDMETHODCALLTYPE Power_Shutdown(_In_ CSysTray * pSysTray); 69 extern HRESULT STDMETHODCALLTYPE Power_Update(_In_ CSysTray * pSysTray); 70 extern HRESULT STDMETHODCALLTYPE Power_Message(_In_ CSysTray * pSysTray, UINT uMsg, WPARAM wParam, LPARAM lParam, LRESULT &lResult); 71 72 #define POWER_TIMER_ID 2 73 #define VOLUME_TIMER_ID 3 74 #define HOTPLUG_TIMER_ID 4 75 76 #endif /* _STOBJECT_PRECOMP_H_ */ 77