小華的部落格: 有趣的Code-BootOption 的建立

搜尋此網誌

網頁

星期三, 3月 03, 2010

有趣的Code-BootOption 的建立

今天在看BootOption建立的code時發現他會去跳掉同時有SimpleFileSystem&BlkIo protocol的Handle,只留下Hanlde 上面有SimpleFileSystem的!

雖然很搞不清楚他為什麼要這樣做,但是一般情況下不可能只有SimpleFileSystem存在!
所以應該是要防呆吧! 怕哪一天真的有Hanlde上面只掛SimpleFileSystem而沒有BlkIo.

這種Hanlde他還是會幫他建立出一個BootOption!


gBS->LocateHandleBuffer (
...
&gEfiSimpleFileSystemProtocolGuid,
...
);
for (Index = 0; Index < NumberFileSystemHandles; Index++) {
Status = gBS->HandleProtocol (
...
&gEfiBlockIoProtocolGuid,
(VOID **) &BlkIo
);
if (!EFI_ERROR (Status)) {

continue; //這邊會Skip
}
...
}

沒有留言: