2022年1月3日 星期一

File Protocol

The EFI_FILE_PROTOCOL provides file IO access to supported file systems.

EFI_FILE_PROTOCOL讓你可以存取檔案或是路徑的內容,也可以用來當參考路徑以尋找新的檔案並產生新的handles。

EFI_FILE_PROTOCOL可以從FileSystem->OpenVolume()拿到,使用完畢以後必須用下面的Close()關掉,不然可能會有衝突發生。

因為File System的driver會把打開的檔案存到buffer裡面,Flush()可以把buffer裡面的東西刷回實體的device裡面

EFI_FILE_PROTOCOL










1.EFI_FILE_PROTOCOL.Open()

>> 打開一個名為FileName的檔案

2.EFI_FILE_PROTOCOL.Close()
>> 關閉file

3.EFI_FILE_PROTOCOL.Delete()
>> 關閉並刪除

4.EFI_FILE_PROTOCOL.Read()
>> 把data從file讀進memory buffer裡面

5.EFI_FILE_PROTOCOL.Write()
>> 把data寫回file裡

6.EFI_FILE_PROTOCOL.GetPosition()
>> Position就是第幾個byte的位置,這邊回傳目前是第幾個byte
7.EFI_FILE_PROTOCOL.SetPosition()
>> 設定目前是第幾個byte,之後做read/write都從這個byte開始
8.EFI_FILE_PROTOCOL.GetInfo()
9.EFI_FILE_PROTOCOL.SetInfo()



10.EFI_FILE_PROTOCOL.Flush
>> 把改過的file刷回device

沒有留言:

張貼留言