How to retrieve iBFT Information on UEFI System using Windows Driver.
Windows Driver로 ACPI Table에서 iBFT 정보를 얻는 방법에 대한 설명입니다.
AuxKlibGetSystemFirmwareTable function (aux_klib.h) - Windows drivers
The AuxKlibGetSystemFirmwareTable routine retrieves the specified firmware table from the firmware table provider.
docs.microsoft.com
NTSTATUS
AuxKlibGetSystemFirmwareTable( ULONG FirmwareTableProviderSignature,
ULONG FirmwareTableID,
PVOID FirmwareTableBuffer,
ULONG BufferLength,
PULONG ReturnLength );
BufferLength = 0;
ReturnLength = 0;
// FirmwareTableID 'iBFT'를 입력으로 넣을 때는 'TFBi'로 입력한다.
status = AuxKlibGetSystemFirmwareTable('ACPI', 'TFBi', NULL, BufferLength, &ReturnLength);
if(status == STATUS_BUFFER_TOO_SMALL && ReturnLength > 0)
{
FirmwareTableBuffer = ExAllocatePool(NonPagedPool, ReturnLength);
if(FirmwareTableBuffer == NULL)
{
return STATUS_INSUFFICIENT_RESOURCES;
}
RtlZeroMemory(FirmwareTableBuffer, ReturnLength);
status = AuxKlibGetSystemFirmwareTable('ACPI', 'TFBi', FirmwareTableBuffer, ReturnLength, &ReturnLength);
if(NT_SUCCESS(status))
{
// parsing the ibft information
// ibft table을 windbg나 dump해서 확인
}
ExFreePool(FirmwreTableBuffer);
}
'All about Programming' 카테고리의 다른 글
Symbolic Link 파일인지 확인하는 방법 (Windows API) (0) | 2020.12.31 |
---|---|
Windows Keyboard Filter Driver (키보드 필터 드라이버) (0) | 2020.12.31 |
구글 검색 방법 / command(커맨드) / 검색 식 #1 (0) | 2020.12.05 |
Linux python hid usb find/open/write (0) | 2020.10.06 |
HID device query/find/send data (USB장치에 데이터 보내기) (0) | 2020.10.06 |