Thanks for all the replies.
Actually the problem was not the permissions, since I had tried the
read+write combination already.

The problem was the variable type of the "root" variable.

Here is the original declaration that I was using that caused the problem:
    EFI_FILE_HANDLE                   root;

Here is the declaration that worked:
    EFI_FILE_PROTOCOL                 root;

Thanks.
Kashif...

On Fri, Oct 26, 2012 at 4:13 AM, duck wilson <duck.54...@gmail.com> wrote:

> Opening the file in create mode is the problem. Change this:
>
>
>     status = root->Open (
>                    root,
>                    file,
>                    L"\\EFI\\BOOT\\FILE.TXT",
>                    EFI_FILE_MODE_READ | EFI_FILE_MODE_WRITE |
> EFI_FILE_MODE_CREATE,
>                    0
>                    );
>
> to this:
>
>
>     status = root->Open (
>                    root,
>                    file,
>                    L"\\EFI\\BOOT\\FILE.TXT",
>                    EFI_FILE_MODE_READ | EFI_FILE_MODE_WRITE,
>                    0
>                    );
>
>
>
> On Wed, Oct 24, 2012 at 10:59 AM, Kashif Memon <kas...@nvelo.com> wrote:
>
>> Hello,
>>
>> I am trying to delete a file on the system partition from an UEFI
>> app using the Delete function within EFI_FILE_PROTOCOL, but it is returning
>> with a EFI_WARN_DELETE_FAILURE.
>>
>> I can read the file without any problem, but delete doesn't seem to work.
>>
>> Any ideas?
>>
>> Here is the code:
>>     // get the handle for EFI Simple File System protocol
>>     status = gBS->LocateDevicePath (
>>                   &gEfiSimpleFileSystemProtocolGuid,
>>                   &ourDevicePath,
>>                   &handle
>>                   );
>>     if (status != EFI_SUCCESS) {
>>         return (status);
>>     }
>>
>>     // get the pointer for the volume
>>     status = gBS->HandleProtocol (
>>                   handle,
>>                   &gEfiSimpleFileSystemProtocolGuid,
>>                   &volume
>>                   );
>>     if (status != EFI_SUCCESS) {
>>         return (status);
>>     }
>>
>>     // Open the root directory of the volume
>>     root = NULL;
>>     status = volume->OpenVolume (
>>                      volume,
>>                      &root
>>                      );
>>     if ((status != EFI_SUCCESS) || (root == NULL)) {
>>         return (status);
>>     }
>>
>>     // Open file.txt file
>>     status = root->Open (
>>                    root,
>>                    file,
>>                    L"\\EFI\\BOOT\\FILE.TXT",
>>                    EFI_FILE_MODE_READ | EFI_FILE_MODE_WRITE |
>> EFI_FILE_MODE_CREATE,
>>                    0
>>                    );
>>     if (status != EFI_SUCCESS) {
>>         return (status);
>>     }
>>
>>     // Delete the file
>>     status = (*file)->Delete (*file);
>>     if (status != EFI_SUCCESS) {
>>         Print (L"Deletion failed, status = %d.\n",
>>                status);
>>         return (status);
>>     }
>>
>> Thanks.
>> Kashif...
>>
>>
>> ------------------------------------------------------------------------------
>> Everyone hates slow websites. So do we.
>> Make your web apps faster with AppDynamics
>> Download AppDynamics Lite for free today:
>> http://p.sf.net/sfu/appdyn_sfd2d_oct
>> _______________________________________________
>> edk2-devel mailing list
>> edk2-devel@lists.sourceforge.net
>> https://lists.sourceforge.net/lists/listinfo/edk2-devel
>>
>>
>
>
> ------------------------------------------------------------------------------
> Everyone hates slow websites. So do we.
> Make your web apps faster with AppDynamics
> Download AppDynamics Lite for free today:
> http://p.sf.net/sfu/appdyn_sfd2d_oct
> _______________________________________________
> edk2-devel mailing list
> edk2-devel@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/edk2-devel
>
>
------------------------------------------------------------------------------
Everyone hates slow websites. So do we.
Make your web apps faster with AppDynamics
Download AppDynamics Lite for free today:
http://p.sf.net/sfu/appdyn_sfd2d_oct
_______________________________________________
edk2-devel mailing list
edk2-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/edk2-devel

Reply via email to