3 * LICENSE: LGPL-2.1-or-later (https://spdx.org/licenses/LGPL-2.1-or-later)
4 * PURPOSE: IActiveDesktop header
5 * COPYRIGHT: Copyright 2018 Mark Jansen (mark.jansen@reactos.org)
8 #ifndef _CACTIVEDESKTOP_H_
9 #define _CACTIVEDESKTOP_H_
13 class CActiveDesktop
:
14 public CComCoClass
<CActiveDesktop
, &CLSID_ActiveDesktop
>,
15 public CComObjectRootEx
<CComMultiThreadModelNoCS
>,
16 public IActiveDesktop
,
17 //public IActiveDesktopP,
23 virtual ~CActiveDesktop();
25 /*** IActiveDesktop methods ***/
26 virtual HRESULT WINAPI
ApplyChanges(DWORD dwFlags
);
27 virtual HRESULT WINAPI
GetWallpaper(PWSTR pwszWallpaper
, UINT cchWallpaper
, DWORD dwFlags
);
28 virtual HRESULT WINAPI
SetWallpaper(PCWSTR pwszWallpaper
, DWORD dwReserved
);
29 virtual HRESULT WINAPI
GetWallpaperOptions(LPWALLPAPEROPT pwpo
, DWORD dwReserved
);
30 virtual HRESULT WINAPI
SetWallpaperOptions(LPCWALLPAPEROPT pwpo
, DWORD dwReserved
);
31 virtual HRESULT WINAPI
GetPattern(PWSTR pwszPattern
, UINT cchPattern
, DWORD dwReserved
);
32 virtual HRESULT WINAPI
SetPattern(PCWSTR pwszPattern
, DWORD dwReserved
);
33 virtual HRESULT WINAPI
GetDesktopItemOptions(LPCOMPONENTSOPT pco
, DWORD dwReserved
);
34 virtual HRESULT WINAPI
SetDesktopItemOptions(LPCCOMPONENTSOPT pco
, DWORD dwReserved
);
35 virtual HRESULT WINAPI
AddDesktopItem(LPCCOMPONENT pcomp
, DWORD dwReserved
);
36 virtual HRESULT WINAPI
AddDesktopItemWithUI(HWND hwnd
, LPCOMPONENT pcomp
, DWORD dwReserved
);
37 virtual HRESULT WINAPI
ModifyDesktopItem(LPCCOMPONENT pcomp
, DWORD dwFlags
);
38 virtual HRESULT WINAPI
RemoveDesktopItem(LPCCOMPONENT pcomp
, DWORD dwReserved
);
39 virtual HRESULT WINAPI
GetDesktopItemCount(int *pcItems
, DWORD dwReserved
);
40 virtual HRESULT WINAPI
GetDesktopItem(int nComponent
, LPCOMPONENT pcomp
, DWORD dwReserved
);
41 virtual HRESULT WINAPI
GetDesktopItemByID(ULONG_PTR dwID
, LPCOMPONENT pcomp
, DWORD dwReserved
);
42 virtual HRESULT WINAPI
GenerateDesktopItemHtml(PCWSTR pwszFileName
, LPCOMPONENT pcomp
, DWORD dwReserved
);
43 virtual HRESULT WINAPI
AddUrl(HWND hwnd
, PCWSTR pszSource
, LPCOMPONENT pcomp
, DWORD dwFlags
);
44 virtual HRESULT WINAPI
GetDesktopItemBySource(PCWSTR pwszSource
, LPCOMPONENT pcomp
, DWORD dwReserved
);
46 /*** IPropertyBag methods ***/
47 virtual HRESULT STDMETHODCALLTYPE
Read(LPCOLESTR pszPropName
, VARIANT
*pVar
, IErrorLog
*pErrorLog
);
48 virtual HRESULT STDMETHODCALLTYPE
Write(LPCOLESTR pszPropName
, VARIANT
*pVar
);
51 DECLARE_REGISTRY_RESOURCEID(IDR_ACTIVEDESKTOP
)
52 DECLARE_NOT_AGGREGATABLE(CActiveDesktop
)
54 DECLARE_PROTECT_FINAL_CONSTRUCT()
56 BEGIN_COM_MAP(CActiveDesktop
)
57 COM_INTERFACE_ENTRY_IID(IID_IActiveDesktop
, IActiveDesktop
)
58 //COM_INTERFACE_ENTRY_IID(IID_IActiveDesktopP, IActiveDesktopP)
59 //COM_INTERFACE_ENTRY_IID(IID_IADesktopP2, IADesktopP2)
60 COM_INTERFACE_ENTRY_IID(IID_IPropertyBag
, IPropertyBag
)
65 #endif // _CACTIVEDESKTOP_H_