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)
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
);
44 struct SysTrayIconHandlers_t
47 PFNSTSHUTDOWN pfnShutdown
;
48 PFNSTUPDATE pfnUpdate
;
49 PFNSTMESSAGE pfnMessage
;
52 extern SysTrayIconHandlers_t g_IconHandlers
[];
53 extern const int g_NumIcons
;
55 /* --------------- Icon callbacks ------------------------------ */
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
);
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
);
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
);
72 #define POWER_TIMER_ID 2
73 #define VOLUME_TIMER_ID 3
74 #define HOTPLUG_TIMER_ID 4
76 #endif /* _STOBJECT_PRECOMP_H_ */