How to retrieve iBFT Information on UEFI System using Windows Driver.
Windows Driver로 ACPI Table에서 iBFT 정보를 얻는 방법에 대한 설명입니다.
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 |