1 #ifndef _STOBJECT_PRECOMP_H_
2 #define _STOBJECT_PRECOMP_H_
4 #define WIN32_NO_STATUS
9 #define WIN32_NO_STATUS
11 #define COM_NO_WINDOWS_H
12 #define NTOS_MODE_USER
16 #include <shlguid_undoc.h>
26 #include <wine/debug.h>
27 WINE_DEFAULT_DEBUG_CHANNEL(stobject
);
31 extern HINSTANCE g_hInstance
;
33 #define ID_ICON_VOLUME (WM_APP + 0x4CB)
34 #define ID_ICON_HOTPLUG (WM_APP + 0x4CC)
35 #define ID_ICON_POWER (WM_APP + 0x4CD)
37 #define POWER_SERVICE_FLAG 0x00000001
38 #define HOTPLUG_SERVICE_FLAG 0x00000002
39 #define VOLUME_SERVICE_FLAG 0x00000004
43 typedef HRESULT(STDMETHODCALLTYPE
* PFNSTINIT
) (_In_ CSysTray
* pSysTray
);
44 typedef HRESULT(STDMETHODCALLTYPE
* PFNSTSHUTDOWN
) (_In_ CSysTray
* pSysTray
);
45 typedef HRESULT(STDMETHODCALLTYPE
* PFNSTUPDATE
) (_In_ CSysTray
* pSysTray
);
46 typedef HRESULT(STDMETHODCALLTYPE
* PFNSTMESSAGE
) (_In_ CSysTray
* pSysTray
, UINT uMsg
, WPARAM wParam
, LPARAM lParam
, LRESULT
&lResult
);
48 struct SysTrayIconHandlers_t
52 PFNSTSHUTDOWN pfnShutdown
;
53 PFNSTUPDATE pfnUpdate
;
54 PFNSTMESSAGE pfnMessage
;
57 extern SysTrayIconHandlers_t g_IconHandlers
[];
58 extern const int g_NumIcons
;
60 /* --------------- Icon callbacks ------------------------------ */
62 extern HRESULT STDMETHODCALLTYPE
Volume_Init(_In_ CSysTray
* pSysTray
);
63 extern HRESULT STDMETHODCALLTYPE
Volume_Shutdown(_In_ CSysTray
* pSysTray
);
64 extern HRESULT STDMETHODCALLTYPE
Volume_Update(_In_ CSysTray
* pSysTray
);
65 extern HRESULT STDMETHODCALLTYPE
Volume_Message(_In_ CSysTray
* pSysTray
, UINT uMsg
, WPARAM wParam
, LPARAM lParam
, LRESULT
&lResult
);
67 extern HRESULT STDMETHODCALLTYPE
Hotplug_Init(_In_ CSysTray
* pSysTray
);
68 extern HRESULT STDMETHODCALLTYPE
Hotplug_Shutdown(_In_ CSysTray
* pSysTray
);
69 extern HRESULT STDMETHODCALLTYPE
Hotplug_Update(_In_ CSysTray
* pSysTray
);
70 extern HRESULT STDMETHODCALLTYPE
Hotplug_Message(_In_ CSysTray
* pSysTray
, UINT uMsg
, WPARAM wParam
, LPARAM lParam
, LRESULT
&lResult
);
72 extern HRESULT STDMETHODCALLTYPE
Power_Init(_In_ CSysTray
* pSysTray
);
73 extern HRESULT STDMETHODCALLTYPE
Power_Shutdown(_In_ CSysTray
* pSysTray
);
74 extern HRESULT STDMETHODCALLTYPE
Power_Update(_In_ CSysTray
* pSysTray
);
75 extern HRESULT STDMETHODCALLTYPE
Power_Message(_In_ CSysTray
* pSysTray
, UINT uMsg
, WPARAM wParam
, LPARAM lParam
, LRESULT
&lResult
);
77 #define POWER_TIMER_ID 2
78 #define VOLUME_TIMER_ID 3
79 #define HOTPLUG_TIMER_ID 4
81 #endif /* _STOBJECT_PRECOMP_H_ */