Skip to content

文件关闭、删除及覆盖

Overview

FileClose

EFI_STATUS FileClose (EFI_FILE_PROTOCOL *File);

EFI_FILE_PROTOCOL.Close 操作会将缓存的数据同步到设备,类似于 FileFlush.

The Close() function closes a specified file handle. All “dirty” cached file data is flushed to the device, and the file is closed. In all cases the handle is closed.

FileRemove

EFI_STATUS FileRemove (EFI_FILE_PROTOCOL *File);

EFI_FILE_DELETE 删除并关闭文件

FileOpen 覆盖操作 <- TODO Finished

在文件打开时执行覆盖.

定义一个参数

#define O_NAPEND 0x4000000000000000ULL // 不追加,直接覆盖

但它直接传给 EFI_FILE_PROTOCOL.Read 会报错 -> EFI_INVALID_PARAMETER

于是在 FileOpen 传给它时与掉.

Mode &~ O_NAPEND
  • src/boot/SigmaBootPkg/File.c
  • src/include/Boot/File.h