Проще говоря, EfiCoreImageHandle
- это просто заполнитель в спецификации. Посмотрите, как я вызываю OpenProtocol
в утилите ShowEDID
в https://github.com/fpmurphy/UEFI-Utilities-2019.
Также посмотрите на утилиту ShowUSB
, где я сейчас использую HandleProtocol
, т.е.
Status = gBS->HandleProtocol( HandleBuffer[Index],
&gEfiUsbIoProtocolGuid,
(VOID**)&UsbIo );
Я мог бы заменить вышеуказанный код на:
Status = gBS->OpenProtocol( HandleBuffer[Index],
&gEfiUsbIoProtocolGuid,
(VOID **)&UsbIo,
gImageHandle,
NULL,
EFI_OPEN_PROTOCOL_BY_HANDLE_PROTOCOL );
Протестировано с UDK2018 и Lenovo T480