Pal/UefiEnvironment.cs

(开头部分) 7KB

这里只显示每个文件的开头 60 行。登录后可以解锁完整代码。

using System;
using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;

[StructLayout(LayoutKind.Sequential)]
public struct EFI_HANDLE
{
    private IntPtr _handle;
}

[StructLayout(LayoutKind.Sequential)]
public readonly struct EFI_TABLE_HEADER
{
    public readonly ulong Signature;
    public readonly uint Revision;
    public readonly uint HeaderSize;
    public readonly uint Crc32;
    public readonly uint Reserved;
}

[StructLayout(LayoutKind.Sequential)]
public unsafe readonly struct EFI_SYSTEM_TABLE
{
    public readonly EFI_TABLE_HEADER Hdr;
    public readonly char* FirmwareVendor;
    public readonly uint FirmwareRevision;
    public readonly EFI_HANDLE ConsoleInHandle;
    public readonly EFI_SIMPLE_TEXT_INPUT_PROTOCOL* ConIn;
    public readonly EFI_HANDLE ConsoleOutHandle;
    public readonly EFI_SIMPLE_TEXT_OUTPUT_PROTOCOL* ConOut;
    public readonly EFI_HANDLE StandardErrorHandle;
    public readonly EFI_SIMPLE_TEXT_OUTPUT_PROTOCOL* StdErr;
    public readonly EFI_RUNTIME_SERVICES* RuntimeServices;
    public readonly EFI_BOOT_SERVICES* BootServices;
    public readonly ulong NumberOfTableEntries;
    public readonly void* ConfigurationTable;
}

[StructLayout(LayoutKind.Sequential)]
public unsafe readonly struct EFI_RUNTIME_SERVICES
{
    public readonly EFI_TABLE_HEADER Hdr;
    private readonly IntPtr _GetTime;
    private readonly IntPtr _SetTime;
    private readonly IntPtr _GetWakeupTime;
    private readonly IntPtr _SetWakeupTime;
    private readonly IntPtr _SetVirtualAddressMap;
    private readonly IntPtr _ConvertPointer;
    private readonly IntPtr _GetVariable;
    private readonly IntPtr _GetNextVariableName;
    private readonly IntPtr _SetVariable;
    private readonly IntPtr _GetNextHighMonotonicCount;
    private readonly IntPtr _ResetSystem;
    private readonly IntPtr _UpdateCapsule;
    private readonly IntPtr _QueryCapsuleCapabilities;
    private readonly IntPtr _QueryVariableInfo;

    public ulong GetTime(out EFI_TIME time, out EFI_TIME_CAPABILITIES capabilities)
    {
        fixed (EFI_TIME* timeAddress = &time)
后面还有 167 行代码,解锁后查看完整代码

24 小时内免费解锁 3 个项目,之后 1 积分/个。 规则说明

AI 解读

登录后可用,每次 10 积分,解读结果公开显示在下面。

还没有人解读过这个文件。