当调用特定的 Win32 API 函数(从 C# 到 Interop)时,它失败并返回一个否定的错误代码
背景:
我在 TAB 内运行的 Windows 8 操作系统上执行此操作。
函数签名
[DllImport("dxva2.dll", EntryPoint = "GetMonitorCapabilities", SetLastError = true)]
[return: MarshalAs(UnmanagedType.Bool)]
public static extern bool GetMonitorCapabilities(
IntPtr hMonitor, ref uint pdwMonitorCapabilities, ref uint pdwSupportedColorTemperatures);
Console.WriteLine(Marshal.GetLastWin32Error());
NativeMethods.GetMonitorCapabilities(hnd,ref x,ref y);
Console.WriteLine(Marshal.GetLastWin32Error());
上面的代码报告
0 -1071241844