Hi all,

I'm trying to open a file from my UEFI application. The path of file is

fs1:/myfolder/myfile.txt

The code :

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);
}

But using this method, I can only go through all the file system handles
and open each volume and try opening my file.

But I want to give full path to my file and open it in it's volume.

How can I acheive this?
Thanks.
With regards,
Keshava GN
_______________________________________________
edk2-devel mailing list
[email protected]
https://lists.01.org/mailman/listinfo/edk2-devel

Reply via email to