Skip to content
Michael Zomparelli edited this page Nov 16, 2020 · 12 revisions

Updated interfaces in Windows 10 build 20257
Please let me know if you find any errors here or you know the names of the unknown methods.

IVirtualDesktopManagerInternal

    [ComImport]
	[Guid("094afe11-44f2-4ba0-976f-29a97e263ee0")]
	[InterfaceType(ComInterfaceType.InterfaceIsIUnknown)]
	internal interface IVirtualDesktopManagerInternal_20257
	{
		int Unknown3(string s);

		void MoveViewToDesktop(IApplicationView pView, IVirtualDesktop desktop);

		bool CanViewMoveDesktops(IApplicationView pView);

		IVirtualDesktop GetCurrentDesktop(string s);

		IObjectArray GetDesktops(string s);

		IVirtualDesktop GetAdjacentDesktop(IVirtualDesktop pDesktopReference, AdjacentDesktop uDirection);

		void SwitchDesktop(string s, IVirtualDesktop desktop);

		IVirtualDesktop CreateDesktopW(string name);

		void RemoveDesktop(IVirtualDesktop pRemove, IVirtualDesktop pFallbackDesktop);

		IVirtualDesktop FindDesktop(ref Guid desktopId);

		void Unknown1(IVirtualDesktop desktop, out IObjectArray out1, out IObjectArray out2);

		void SetName(IVirtualDesktop desktop, string name);

		void Unknown2(IApplicationView pView1, IApplicationView pView2);

		int GetCount();

	}

IVirtualDesktop

    [ComImport]
	[Guid("62fdf88b-11ca-4afb-8bd8-2296dfae49e2")]
	[InterfaceType(ComInterfaceType.InterfaceIsIUnknown)]
	public interface IVirtualDesktop
	{
		bool IsViewVisible(object pView);

		Guid GetID();

		void GetName([MarshalAs(UnmanagedType.HString)] out string name);

		int Unknown1();

	}

IVirtualDesktopNotification

    [ComImport]
	[Guid("f3163e11-6b04-433c-a64b-6f82c9094257")]
	[InterfaceType(ComInterfaceType.InterfaceIsIUnknown)]
	public interface IVirtualDesktopNotification
	{
		void VirtualDesktopCreated(IVirtualDesktop pDesktop);

		void VirtualDesktopDestroyBegin(IVirtualDesktop pDesktopDestroyed, IVirtualDesktop pDesktopFallback);

		void VirtualDesktopDestroyFailed(IVirtualDesktop pDesktopDestroyed, IVirtualDesktop pDesktopFallback);

		void VirtualDesktopDestroyed(IVirtualDesktop pDesktopDestroyed, IVirtualDesktop pDesktopFallback);

		void Unknown2(int i);

		void Unknown1(IVirtualDesktop pDesktop, [MarshalAs(UnmanagedType.HString)] string s);

		void ViewVirtualDesktopChanged(IntPtr pView);

		void CurrentVirtualDesktopChanged(IVirtualDesktop pDesktopOld, IVirtualDesktop pDesktopNew);
	}
Clone this wiki locally