Implement BlRegisterProtocol() routine
All checks were successful
Builds / ExectOS (amd64) (push) Successful in 27s
Builds / ExectOS (i686) (push) Successful in 27s

This commit is contained in:
2024-01-01 19:27:51 +01:00
parent 35f36adfa6
commit 09ca6dace9
4 changed files with 33 additions and 3 deletions

View File

@@ -530,6 +530,30 @@ BlRegisterBootProtocol(IN PWCHAR SystemType,
return STATUS_EFI_SUCCESS;
}
/**
* Installs XTLDR protocol interface.
*
* @param Guid
* Specifies a unique protocol GUID.
*
* @param Interface
* Supplies a pointer to the protocol interface, or NULL if there is no structure associated.
*
* @return This routine returns a status code.
*
* @since XT 1.0
*/
XTCDECL
EFI_STATUS
BlRegisterProtocol(IN PEFI_GUID Guid,
IN PVOID Interface)
{
EFI_HANDLE Handle = NULL;
/* Install protocol interface */
return EfiSystemTable->BootServices->InstallProtocolInterface(&Handle, Guid, EFI_NATIVE_INTERFACE, Interface);
}
/**
* This routine registers XTLDR protocol for further usage by modules.
*
@@ -570,6 +594,7 @@ BlpRegisterXtLoaderProtocol()
BlpLdrProtocol.Memory.FreePages = BlMemoryFreePages;
BlpLdrProtocol.Memory.FreePool = BlMemoryFreePool;
BlpLdrProtocol.Protocol.Open = BlOpenProtocol;
BlpLdrProtocol.Protocol.Register = BlRegisterProtocol;
BlpLdrProtocol.Tui.DisplayErrorDialog = BlDisplayErrorDialog;
BlpLdrProtocol.Tui.DisplayInfoDialog = BlDisplayInfoDialog;
BlpLdrProtocol.Tui.DisplayProgressDialog = BlDisplayProgressDialog;