小编Kes*_* GN的帖子

如何在UEFI中按文件的完整路径打开文件

我是UEFI的初学者。我正在尝试从UEFI应用程序打开文件。文件的路径是

fs1:/myfolder/myfile.txt
Run Code Online (Sandbox Code Playgroud)

代码(借助此答案

efiStatus = bs->LocateHandleBuffer(ByProtocol, 
                                   &sfspGuid, 
                                   NULL, 
                                   &handleCount, 
                                   &handles);

for (index = 0; index < (int)handleCount; ++ index)
{
    EFI_SIMPLE_FILE_SYSTEM_PROTOCOL* fs = NULL;

    efiStatus = bs->HandleProtocol(
        handles[index],
        &sfspGuid,
        (void**)&fs);

    EFI_FILE_PROTOCOL* root = NULL;
    ...
    efiStatus = fs->OpenVolume(fs, &root);

    EFI_FILE_PROTOCOL* token = NULL;

    efiStatus = root->Open(
        root, 
        &token,
        L"myfolder\\myfile.txt",
        EFI_FILE_MODE_READ,
        EFI_FILE_READ_ONLY | EFI_FILE_HIDDEN | EFI_FILE_SYSTEM);
}
Run Code Online (Sandbox Code Playgroud)

但是使用这种方法,我只能浏览所有文件系统句柄并打开每个卷,然后尝试打开我的文件。

但我想提供文件的完整路径并在其卷中打开它。

我该如何实现?


编辑:

我尝试使用Shell API按照@Alex在注释中的建议打开文件。下面是代码。但是它挂了功能OpenFileByName

这段代码有什么错误?(argv [1]是我的文件路径fs1:\myfile.txt

EFI_STATUS
EFIAPI
main (
  IN EFI_HANDLE        ImageHandle,
  IN …
Run Code Online (Sandbox Code Playgroud)

filesystems file uefi

4
推荐指数
1
解决办法
2329
查看次数

如何将日期格式化为字符串,包括毫秒?

NSString *nameToSave = word;

NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
NSString *fromDateString=[dateFormatter stringFromDate:[NSDate date]];
[dateFormatter release];

nameToSave = [word stringByAppendingString:fromDateString];
nameToSave = [nameToSave stringByAppendingString:@".txt"];
NSLog(@"Server notes name .............>>>>>>!!!! %@",nameToSave);
Run Code Online (Sandbox Code Playgroud)

为了保存文件名我正在使用dateformatter,我的问题是在上面的代码字中对于两个文件是相同的,它在一秒钟内运行,然后两个文件名相同.所以文件覆盖..,我认为使用毫秒我可以解决我的问题,但我不知道如何以毫秒为单位获取当前时间.[秒/ 1000或任何算术运算对我没有帮助...,因为在应用算术运算后我们也得到同一个名称]

iphone macos objective-c ios

3
推荐指数
2
解决办法
3337
查看次数

我如何["字符串"]作为条件陈述?

检查IOCCC中的这个混淆代码.我试图理解这一点.

int i;main(){for(;i["]<i;++i){--i;}"];read('-'-'-',i+++"hell\
o, world!\n",'/'/'/'));}read(j,i,p){write(j/p+p,i---j,i/i);}
Run Code Online (Sandbox Code Playgroud)

手段:

int i;
main()
{
    for(;i["]<i;++i){--i;}"];read('-'-'-',i+++"hello, world!\n",'/'/'/'));
}
read(j,i,p)
{
    write(j/p+p,i---j,i/i);
}
Run Code Online (Sandbox Code Playgroud)

请解释一下: i["]<i;++i){--i;}"]

这如何作为一个条件陈述?

c obfuscation for-loop conditional-statements

3
推荐指数
1
解决办法
91
查看次数

页脚放置不正确(未采用全宽)

我希望页脚占据页面的整个宽度,但由于某种原因,当我在 safari 中预览时它不起作用(在 Dreamweaver 中看起来不错)。怎么了?我希望将其放置在页面底部并占据整个宽度。

<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="utf-8">
  <title>
    Liveweave
  </title>

  <!-- Place cursor after this and select a
JavaScript library from the menu above -->



  <!-- Supports context-sensitive CSS3 auto-completion -->
  <!-- Style starts here. Try adding new CSS tags. -->
  <style type="text/css">    
    @charset"UTF-8";
      /* CSS Document */

      Html, body {
        padding: 0;
        margin: 0;
        height: 100%;
        font-family: Tahoma, Geneva, sans-serif;
        background: rgb(255,255,255);
        /* Old browsers */
        /* IE9 SVG, needs conditional override of 'filter' …
Run Code Online (Sandbox Code Playgroud)

html css footer

1
推荐指数
1
解决办法
5236
查看次数

如何创建登录表单 - Java中的OOP?

我已经有一个库存系统访问某个数据库上的某个表.

现在我想创建一个新的框架,在用户进入主库存系统框架之前,它将作为登录表单.

我希望它访问相同的数据库,但不同的表,(例如inventory_system_db数据库下的user_table和item_table).

如果用户登录了管理员帐户,那么他可以使用管理控件访问库存系统(例如编辑,添加,删除).

当他以普通用户身份登录时,他将能够访问库存系统但无需管理员控制.

我想知道的事情:

  • 如何创建登录表单?
  • 如何进入库存系统?

java oop netbeans system inventory

-3
推荐指数
1
解决办法
4784
查看次数