From a0788a96d75cb46ab813d4e7984f3d3a133f128f Mon Sep 17 00:00:00 2001 From: Tom Ritter <t...@ritter.vg> Date: Wed, 5 Jan 2022 22:32:47 -0500 Subject: [PATCH] Add IVirtualDesktopManager
--- mingw-w64-headers/include/shobjidl.h | 138 +++++++++++++++++++++++++ mingw-w64-headers/include/shobjidl.idl | 11 ++ 2 files changed, 149 insertions(+) diff --git a/mingw-w64-headers/include/shobjidl.h b/mingw-w64-headers/include/shobjidl.h index a39bbaa1e..61a018e4e 100644 --- a/mingw-w64-headers/include/shobjidl.h +++ b/mingw-w64-headers/include/shobjidl.h @@ -1562,6 +1562,14 @@ interface IDesktopGadget; #endif /* __cplusplus */ #endif +#ifndef __IVirtualDesktopManager_FWD_DEFINED__ +#define __IVirtualDesktopManager_FWD_DEFINED__ +typedef interface IVirtualDesktopManager IVirtualDesktopManager; +#ifdef __cplusplus +interface IVirtualDesktopManager; +#endif /* __cplusplus */ +#endif + #ifndef __IDesktopWallpaper_FWD_DEFINED__ #define __IDesktopWallpaper_FWD_DEFINED__ typedef interface IDesktopWallpaper IDesktopWallpaper; @@ -2246,6 +2254,15 @@ typedef struct ExecuteFolder ExecuteFolder; #endif /* defined __cplusplus */ #endif /* defined __ExecuteFolder_FWD_DEFINED__ */ +#ifndef __VirtualDesktopManager_FWD_DEFINED__ +#define __VirtualDesktopManager_FWD_DEFINED__ +#ifdef __cplusplus +typedef class VirtualDesktopManager VirtualDesktopManager; +#else +typedef struct VirtualDesktopManager VirtualDesktopManager; +#endif /* defined __cplusplus */ +#endif /* defined __VirtualDesktopManager_FWD_DEFINED__ */ + #ifndef __IAssocHandlerInvoker_FWD_DEFINED__ #define __IAssocHandlerInvoker_FWD_DEFINED__ typedef interface IAssocHandlerInvoker IAssocHandlerInvoker; @@ -30555,6 +30572,114 @@ static FORCEINLINE HRESULT IDesktopGadget_RunGadget(IDesktopGadget* This,LPCWSTR #endif /* __IDesktopGadget_INTERFACE_DEFINED__ */ +#if (NTDDI_VERSION >= NTDDI_WINTHRESHOLD) +/***************************************************************************** + * IVirtualDesktopManager interface + */ +#ifndef __IVirtualDesktopManager_INTERFACE_DEFINED__ +#define __IVirtualDesktopManager_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IVirtualDesktopManager, 0xa5cd92ff, 0x29be, 0x454c, 0x8d,0x04, 0xd8,0x28,0x79,0xfb,0x3f,0x1b); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("a5cd92ff-29be-454c-8d04-d82879fb3f1b") +IVirtualDesktopManager : public IUnknown +{ + virtual HRESULT STDMETHODCALLTYPE IsWindowOnCurrentVirtualDesktop( + HWND topLevelWindow, + WINBOOL *onCurrentDesktop) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetWindowDesktopId( + HWND topLevelWindow, + GUID *desktopId) = 0; + + virtual HRESULT STDMETHODCALLTYPE MoveWindowToDesktop( + HWND topLevelWindow, + REFGUID desktopId) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IVirtualDesktopManager, 0xa5cd92ff, 0x29be, 0x454c, 0x8d,0x04, 0xd8,0x28,0x79,0xfb,0x3f,0x1b) +#endif +#else +typedef struct IVirtualDesktopManagerVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IVirtualDesktopManager *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IVirtualDesktopManager *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IVirtualDesktopManager *This); + + /*** IVirtualDesktopManager methods ***/ + HRESULT (STDMETHODCALLTYPE *IsWindowOnCurrentVirtualDesktop)( + IVirtualDesktopManager *This, + HWND topLevelWindow, + WINBOOL *onCurrentDesktop); + + HRESULT (STDMETHODCALLTYPE *GetWindowDesktopId)( + IVirtualDesktopManager *This, + HWND topLevelWindow, + GUID *desktopId); + + HRESULT (STDMETHODCALLTYPE *MoveWindowToDesktop)( + IVirtualDesktopManager *This, + HWND topLevelWindow, + REFGUID desktopId); + + END_INTERFACE +} IVirtualDesktopManagerVtbl; + +interface IVirtualDesktopManager { + CONST_VTBL IVirtualDesktopManagerVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IVirtualDesktopManager_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IVirtualDesktopManager_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IVirtualDesktopManager_Release(This) (This)->lpVtbl->Release(This) +/*** IVirtualDesktopManager methods ***/ +#define IVirtualDesktopManager_IsWindowOnCurrentVirtualDesktop(This,topLevelWindow,onCurrentDesktop) (This)->lpVtbl->IsWindowOnCurrentVirtualDesktop(This,topLevelWindow,onCurrentDesktop) +#define IVirtualDesktopManager_GetWindowDesktopId(This,topLevelWindow,desktopId) (This)->lpVtbl->GetWindowDesktopId(This,topLevelWindow,desktopId) +#define IVirtualDesktopManager_MoveWindowToDesktop(This,topLevelWindow,desktopId) (This)->lpVtbl->MoveWindowToDesktop(This,topLevelWindow,desktopId) +#else +/*** IUnknown methods ***/ +static FORCEINLINE HRESULT IVirtualDesktopManager_QueryInterface(IVirtualDesktopManager* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static FORCEINLINE ULONG IVirtualDesktopManager_AddRef(IVirtualDesktopManager* This) { + return This->lpVtbl->AddRef(This); +} +static FORCEINLINE ULONG IVirtualDesktopManager_Release(IVirtualDesktopManager* This) { + return This->lpVtbl->Release(This); +} +/*** IVirtualDesktopManager methods ***/ +static FORCEINLINE HRESULT IVirtualDesktopManager_IsWindowOnCurrentVirtualDesktop(IVirtualDesktopManager* This,HWND topLevelWindow,WINBOOL *onCurrentDesktop) { + return This->lpVtbl->IsWindowOnCurrentVirtualDesktop(This,topLevelWindow,onCurrentDesktop); +} +static FORCEINLINE HRESULT IVirtualDesktopManager_GetWindowDesktopId(IVirtualDesktopManager* This,HWND topLevelWindow,GUID *desktopId) { + return This->lpVtbl->GetWindowDesktopId(This,topLevelWindow,desktopId); +} +static FORCEINLINE HRESULT IVirtualDesktopManager_MoveWindowToDesktop(IVirtualDesktopManager* This,HWND topLevelWindow,REFGUID desktopId) { + return This->lpVtbl->MoveWindowToDesktop(This,topLevelWindow,desktopId); +} +#endif +#endif + +#endif + + +#endif /* __IVirtualDesktopManager_INTERFACE_DEFINED__ */ + +#endif + #if NTDDI_VERSION >= NTDDI_WIN8 /***************************************************************************** * IDesktopWallpaper interface @@ -32797,6 +32922,19 @@ __CRT_UUID_DECL(ExecuteFolder, 0x11dbb47c, 0xa525, 0x400b, 0x9e,0x80, 0xa5,0x46, #endif #endif +/***************************************************************************** + * VirtualDesktopManager coclass + */ + +DEFINE_GUID(CLSID_VirtualDesktopManager, 0xaa509086, 0x5ca9, 0x4c25, 0x8f,0x95, 0x58,0x9d,0x3c,0x07,0xb4,0x8a); + +#ifdef __cplusplus +class DECLSPEC_UUID("aa509086-5ca9-4c25-8f95-589d3c07b48a") VirtualDesktopManager; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(VirtualDesktopManager, 0xaa509086, 0x5ca9, 0x4c25, 0x8f,0x95, 0x58,0x9d,0x3c,0x07,0xb4,0x8a) +#endif +#endif + #endif /* __ShellObjects_LIBRARY_DEFINED__ */ #if NTDDI_VERSION >= NTDDI_VISTA diff --git a/mingw-w64-headers/include/shobjidl.idl b/mingw-w64-headers/include/shobjidl.idl index 6c3881a4a..501162974 100644 --- a/mingw-w64-headers/include/shobjidl.idl +++ b/mingw-w64-headers/include/shobjidl.idl @@ -3981,6 +3981,16 @@ interface IDesktopGadget : IUnknown { HRESULT RunGadget ([in] LPCWSTR gadgetPath); } +cpp_quote("") +cpp_quote("#if (NTDDI_VERSION >= NTDDI_WINTHRESHOLD)") +[object, uuid (a5cd92ff-29be-454c-8d04-d82879fb3f1b),] +interface IVirtualDesktopManager : IUnknown { + HRESULT IsWindowOnCurrentVirtualDesktop ([in] HWND topLevelWindow, [out] BOOL *onCurrentDesktop); + HRESULT GetWindowDesktopId ([in] HWND topLevelWindow, [out] GUID *desktopId); + HRESULT MoveWindowToDesktop ([in] HWND topLevelWindow, [in] REFGUID desktopId); +} +cpp_quote("#endif") + cpp_quote("") cpp_quote("#if NTDDI_VERSION >= NTDDI_WIN8") [object, uuid (B92B56A9-8b55-4e14-9a89-0199bbb6f93b)] @@ -4274,6 +4284,7 @@ library ShellObjects { [uuid (45ba127d-10a8-46ea-8ab7-56ea9078943c)] coclass ApplicationActivationManager { interface IApplicationActivationManager; } [uuid (958a6fb5-dcb2-4faf-aafd-7fb054ad1a3b)] coclass ApplicationDesignModeSettings { interface IApplicationDesignModeSettings; } [uuid (11dbb47c-a525-400b-9e80-a54615a090c0)] coclass ExecuteFolder { interface IExecuteCommand; } + [uuid (aa509086-5ca9-4c25-8f95-589d3c07b48a)] coclass VirtualDesktopManager { interface IVirtualDesktopManager; } }; cpp_quote("") cpp_quote("#if NTDDI_VERSION >= NTDDI_VISTA") -- 2.25.1
_______________________________________________ Mingw-w64-public mailing list Mingw-w64-public@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/mingw-w64-public