mirror of
https://github.com/jkocon/g-helper.git
synced 2026-02-23 13:00:52 +01:00
96 lines
3.3 KiB
C#
96 lines
3.3 KiB
C#
using System;
|
|
using System.Runtime.InteropServices;
|
|
using WindowsDisplayAPI.Native.DisplayConfig;
|
|
using WindowsDisplayAPI.Native.DisplayConfig.Structures;
|
|
|
|
namespace WindowsDisplayAPI.Native
|
|
{
|
|
internal class DisplayConfigApi
|
|
{
|
|
[DllImport("user32")]
|
|
public static extern Win32Status DisplayConfigGetDeviceInfo(
|
|
ref DisplayConfigSupportVirtualResolution targetSupportVirtualResolution
|
|
);
|
|
|
|
[DllImport("user32")]
|
|
public static extern Win32Status DisplayConfigGetDeviceInfo(
|
|
ref DisplayConfigGetSourceDPIScale targetSupportVirtualResolution
|
|
);
|
|
|
|
[DllImport("user32")]
|
|
public static extern Win32Status DisplayConfigGetDeviceInfo(
|
|
ref DisplayConfigTargetDeviceName deviceName
|
|
);
|
|
|
|
[DllImport("user32")]
|
|
public static extern Win32Status DisplayConfigGetDeviceInfo(
|
|
ref DisplayConfigAdapterName deviceName
|
|
);
|
|
|
|
[DllImport("user32")]
|
|
public static extern Win32Status DisplayConfigGetDeviceInfo(
|
|
ref DisplayConfigSourceDeviceName deviceName
|
|
);
|
|
|
|
[DllImport("user32")]
|
|
public static extern Win32Status DisplayConfigGetDeviceInfo(
|
|
ref DisplayConfigTargetPreferredMode targetPreferredMode
|
|
);
|
|
|
|
[DllImport("user32")]
|
|
public static extern Win32Status DisplayConfigGetDeviceInfo(
|
|
ref DisplayConfigTargetBaseType targetBaseType
|
|
);
|
|
|
|
[DllImport("user32")]
|
|
public static extern Win32Status DisplayConfigSetDeviceInfo(
|
|
ref DisplayConfigSetTargetPersistence targetPersistence
|
|
);
|
|
|
|
[DllImport("user32")]
|
|
public static extern Win32Status DisplayConfigSetDeviceInfo(
|
|
ref DisplayConfigSupportVirtualResolution targetSupportVirtualResolution
|
|
);
|
|
|
|
[DllImport("user32")]
|
|
public static extern Win32Status DisplayConfigSetDeviceInfo(
|
|
ref DisplayConfigSetSourceDPIScale setSourceDpiScale
|
|
);
|
|
|
|
[DllImport("user32")]
|
|
public static extern Win32Status GetDisplayConfigBufferSizes(
|
|
QueryDeviceConfigFlags flags,
|
|
out uint pathArrayElements,
|
|
out uint modeInfoArrayElements
|
|
);
|
|
|
|
[DllImport("user32")]
|
|
public static extern Win32Status QueryDisplayConfig(
|
|
QueryDeviceConfigFlags flags,
|
|
ref uint pathArrayElements,
|
|
[Out] DisplayConfigPathInfo[] pathInfoArray,
|
|
ref uint modeInfoArrayElements,
|
|
[Out] DisplayConfigModeInfo[] modeInfoArray,
|
|
IntPtr currentTopologyId
|
|
);
|
|
|
|
[DllImport("user32")]
|
|
public static extern Win32Status QueryDisplayConfig(
|
|
QueryDeviceConfigFlags flags,
|
|
ref uint pathArrayElements,
|
|
[Out] DisplayConfigPathInfo[] pathInfoArray,
|
|
ref uint modeInfoArrayElements,
|
|
[Out] DisplayConfigModeInfo[] modeInfoArray,
|
|
[Out] out DisplayConfigTopologyId currentTopologyId
|
|
);
|
|
|
|
[DllImport("user32")]
|
|
public static extern Win32Status SetDisplayConfig(
|
|
[In] uint pathArrayElements,
|
|
[In] DisplayConfigPathInfo[] pathInfoArray,
|
|
[In] uint modeInfoArrayElements,
|
|
[In] DisplayConfigModeInfo[] modeInfoArray,
|
|
[In] SetDisplayConfigFlags flags
|
|
);
|
|
}
|
|
} |