C# Pinvoke判断是UEFI模式还是BIOS模式
[DllImport("kernel32.dll", SetLastError = true)] public static extern UInt32 GetFirmwareEnvironmentVariableA([MarshalAs(UnmanagedType.LPWStr)] string lpName, [MarshalAs(UnmanagedType.LPWStr)] string lpGuid, IntPtr pBuffer, UInt32 nSize); public static bool IsUefi() { //ERROR_INVALID_FUNCTION 1(0x1) //ERROR_NOACCESS 998(0x3E6) GetFirmwareEnvironmentVariableA("", "{00000000-0000-0000-0000-000000000000}", IntPtr.Zero, 0); if (Marshal.GetLastWin32Error() == 0x1) { return false; } else { return true; } }
版权声明:本博客所有图片、文字等版权属于虫子樱桃所有,未经许可谢绝任何形式的复制和传播。博客的图片和代码部分来自网络,本站均已注明来源和作者原来的声明。如有侵权,请使用本站联系方式告诉,我们将会在第一时间做出处理。