【发布时间】:2020-06-08 23:42:46
【问题描述】:
我要检查efi图片路径是否有效,代码如下:
gBS->LocateHandleBuffer (
ByProtocol,
&gEfiSimpleFileSystemProtocolGuid,
NULL,
&NumberSimpleFileSystemHandles,
&SimpleFileSystemHandles
);
for (Index = 0; Index < NumberSimpleFileSystemHandles; Index++) {
TempImagePath = FileDevicePath (SimpleFileSystemHandles[Index], L"\\EFI\\BOOT\\boo.efi");
if(IsDevicePathValid(TempImagePath,sizeof(EFI_DEVICE_PATH_PROTOCOL)) == TRUE){
//OK
}
这段代码总是返回路径无效,我认为IsDevicePathValid的第二个参数有问题。
有什么问题?
谢谢。
【问题讨论】:
-
您是否尝试使用它来确定文件是否存在?我认为 IsDevicePathValid 不会检查。
-
似乎还有一个错字:“boo.efi”应该是“boot.efi”。
标签: uefi