Issues with using ExSetFirmwareEnvironmentVariable to set/create UEFI variables?

Hello Everyone,
I have been struggling for a while with using the Win8 ‘ExSetFirmwareEnvironmentVariable’ API to set/create UEFI variables.

  1. On using the ‘ExGetFirmwareEnvironmentVariable’ API to read the values of an existing UEFI variable, the operation is successful when we tried reading a UEFI variable of size 1 bytes and by providing the ‘Attributes’ of EFI_VARIABLE_RUNTIME_ACCESS and EFI_VARIABLE_NON_VOLATILE as input to the API.

  2. But when we try to use the same set of Attributes EFI_VARIABLE_RUNTIME_ACCESS and EFI_VARIABLE_NON_VOLATILE as input to the Win8 API ‘ExSetFirmwareEnvironmentVariable’ while trying to set a new value to the UEFI variable mentioned in (1), the Win8 system experiences a BSOD and the bugcheck error shows the error code as ‘Bug Check 0x4E: PFN_LIST_CORRUPT’.

On analyzing the Win8 system, looks like the Administrator account for that system had been configured to ‘SE_SYSTEM_ENVIRONMENT_PRIVILEGE’ (Modify firmware environment variables) and our driver code is getting executed in Administrator account. As such, there should be no issues with the privilege while using the Set API in Win8.

The UEFI Specification Section 7.2 mentions that for creating UEFI variables the Storage Attribute needs to be mentioned as an Attribute while using the Win8 API ‘ExSetFirmwareEnvironmentVariable’? Could anyone let know which of the attributes other than EFI_VARIABLE_RUNTIME_ACCESS and EFI_VARIABLE_NON_VOLATILE need to be included for creating a new UEFI variable?

The UEFI Specification does not mention usage of any Storage Attribute while trying to modify an existing UEFI variable. But when we tried Setting a new value to an existing UEFI variable using the Win8 API ‘ExSetFirmwareEnvironmentVariable’ with Attributes EFI_VARIABLE_RUNTIME_ACCESS and EFI_VARIABLE_NON_VOLATILE, even in that case we experienced a BSOD of ‘Bug Check 0x4E: PFN_LIST_CORRUPT’.

Does the Win8 API ‘ExSetFirmwareEnvironmentVariable’ support the Set feature appropriately? or are there some known issues with this API?
Anyone will be able to let know about the same?

Thanks
Monisha

Your post made me curious, so I went and read the code. The code locks the
buffer you pass in with MmProbeAndLockPages. What is your buffer backed by?
It sounds like this corrupted the PFN list.

Jake Oshins
Windows Kernel Team

The message offers no warranties and confers no rights.

"Monisha Barooah" wrote in message
news:xxxxx@ntdev...
Hello Everyone,
I have been struggling for a while with using the Win8
'ExSetFirmwareEnvironmentVariable' API to set/create UEFI variables.

1) On using the 'ExGetFirmwareEnvironmentVariable' API to read the values of
an existing UEFI variable, the operation is successful when we tried reading
a UEFI variable of size 1 bytes and by providing the 'Attributes' of
EFI_VARIABLE_RUNTIME_ACCESS and EFI_VARIABLE_NON_VOLATILE as input to the
API.

2) But when we try to use the same set of Attributes
EFI_VARIABLE_RUNTIME_ACCESS and EFI_VARIABLE_NON_VOLATILE as input to the
Win8 API 'ExSetFirmwareEnvironmentVariable' while trying to set a new value
to the UEFI variable mentioned in (1), the Win8 system experiences a BSOD
and the bugcheck error shows the error code as 'Bug Check 0x4E:
PFN_LIST_CORRUPT'.

On analyzing the Win8 system, looks like the Administrator account for that
system had been configured to 'SE_SYSTEM_ENVIRONMENT_PRIVILEGE' (Modify
firmware environment variables) and our driver code is getting executed in
Administrator account. As such, there should be no issues with the privilege
while using the Set API in Win8.

The UEFI Specification Section 7.2 mentions that for creating UEFI variables
the Storage Attribute needs to be mentioned as an Attribute while using the
Win8 API 'ExSetFirmwareEnvironmentVariable'? Could anyone let know which of
the attributes other than EFI_VARIABLE_RUNTIME_ACCESS and
EFI_VARIABLE_NON_VOLATILE need to be included for creating a new UEFI
variable?

The UEFI Specification does not mention usage of any Storage Attribute while
trying to modify an existing UEFI variable. But when we tried Setting a new
value to an existing UEFI variable using the Win8 API
'ExSetFirmwareEnvironmentVariable' with Attributes
EFI_VARIABLE_RUNTIME_ACCESS and EFI_VARIABLE_NON_VOLATILE, even in that case
we experienced a BSOD of 'Bug Check 0x4E: PFN_LIST_CORRUPT'.

Does the Win8 API 'ExSetFirmwareEnvironmentVariable' support the Set feature
appropriately? or are there some known issues with this API?
Anyone will be able to let know about the same?

Thanks
Monisha

Can you also post the output of !analyze -v ?

-----Original Message-----
From: xxxxx@lists.osr.com [mailto:xxxxx@lists.osr.com] On Behalf Of Jake Oshins
Sent: Tuesday, July 24, 2012 6:12 PM
To: Windows System Software Devs Interest List
Subject: Re:[ntdev] Issues with using ExSetFirmwareEnvironmentVariable to set/create UEFI variables?

Your post made me curious, so I went and read the code. The code locks the buffer you pass in with MmProbeAndLockPages. What is your buffer backed by?
It sounds like this corrupted the PFN list.

Jake Oshins
Windows Kernel Team

The message offers no warranties and confers no rights.

"Monisha Barooah" wrote in message news:xxxxx@ntdev...
Hello Everyone,
I have been struggling for a while with using the Win8 'ExSetFirmwareEnvironmentVariable' API to set/create UEFI variables.

1) On using the 'ExGetFirmwareEnvironmentVariable' API to read the values of an existing UEFI variable, the operation is successful when we tried reading a UEFI variable of size 1 bytes and by providing the 'Attributes' of EFI_VARIABLE_RUNTIME_ACCESS and EFI_VARIABLE_NON_VOLATILE as input to the API.

2) But when we try to use the same set of Attributes EFI_VARIABLE_RUNTIME_ACCESS and EFI_VARIABLE_NON_VOLATILE as input to the
Win8 API 'ExSetFirmwareEnvironmentVariable' while trying to set a new value to the UEFI variable mentioned in (1), the Win8 system experiences a BSOD and the bugcheck error shows the error code as 'Bug Check 0x4E:
PFN_LIST_CORRUPT'.

On analyzing the Win8 system, looks like the Administrator account for that system had been configured to 'SE_SYSTEM_ENVIRONMENT_PRIVILEGE' (Modify firmware environment variables) and our driver code is getting executed in Administrator account. As such, there should be no issues with the privilege while using the Set API in Win8.

The UEFI Specification Section 7.2 mentions that for creating UEFI variables the Storage Attribute needs to be mentioned as an Attribute while using the
Win8 API 'ExSetFirmwareEnvironmentVariable'? Could anyone let know which of the attributes other than EFI_VARIABLE_RUNTIME_ACCESS and EFI_VARIABLE_NON_VOLATILE need to be included for creating a new UEFI variable?

The UEFI Specification does not mention usage of any Storage Attribute while trying to modify an existing UEFI variable. But when we tried Setting a new value to an existing UEFI variable using the Win8 API 'ExSetFirmwareEnvironmentVariable' with Attributes EFI_VARIABLE_RUNTIME_ACCESS and EFI_VARIABLE_NON_VOLATILE, even in that case we experienced a BSOD of 'Bug Check 0x4E: PFN_LIST_CORRUPT'.

Does the Win8 API 'ExSetFirmwareEnvironmentVariable' support the Set feature appropriately? or are there some known issues with this API?
Anyone will be able to let know about the same?

Thanks
Monisha

I was trying to pass 1 byte of data to set the UEFI variable data and so passed onto it a pointer to a local variable.

Should I try the buffer with a NonPaged Memory allocated dynamically?

Thanks
Monisha

From: xxxxx@windows.microsoft.com
Subject: Re:[ntdev] Issues with using ExSetFirmwareEnvironmentVariable to set/create UEFI variables?
Date: Tue, 24 Jul 2012 18:12:25 -0700
To: xxxxx@lists.osr.com

Your post made me curious, so I went and read the code. The code locks the
buffer you pass in with MmProbeAndLockPages. What is your buffer backed by?
It sounds like this corrupted the PFN list.

Jake Oshins
Windows Kernel Team

The message offers no warranties and confers no rights.

“Monisha Barooah” wrote in message
> news:xxxxx@ntdev…
> Hello Everyone,
> I have been struggling for a while with using the Win8
> ‘ExSetFirmwareEnvironmentVariable’ API to set/create UEFI variables.
>
> 1) On using the ‘ExGetFirmwareEnvironmentVariable’ API to read the values of
> an existing UEFI variable, the operation is successful when we tried reading
> a UEFI variable of size 1 bytes and by providing the ‘Attributes’ of
> EFI_VARIABLE_RUNTIME_ACCESS and EFI_VARIABLE_NON_VOLATILE as input to the
> API.
>
> 2) But when we try to use the same set of Attributes
> EFI_VARIABLE_RUNTIME_ACCESS and EFI_VARIABLE_NON_VOLATILE as input to the
> Win8 API ‘ExSetFirmwareEnvironmentVariable’ while trying to set a new value
> to the UEFI variable mentioned in (1), the Win8 system experiences a BSOD
> and the bugcheck error shows the error code as ‘Bug Check 0x4E:
> PFN_LIST_CORRUPT’.
>
> On analyzing the Win8 system, looks like the Administrator account for that
> system had been configured to ‘SE_SYSTEM_ENVIRONMENT_PRIVILEGE’ (Modify
> firmware environment variables) and our driver code is getting executed in
> Administrator account. As such, there should be no issues with the privilege
> while using the Set API in Win8.
>
> The UEFI Specification Section 7.2 mentions that for creating UEFI variables
> the Storage Attribute needs to be mentioned as an Attribute while using the
> Win8 API ‘ExSetFirmwareEnvironmentVariable’? Could anyone let know which of
> the attributes other than EFI_VARIABLE_RUNTIME_ACCESS and
> EFI_VARIABLE_NON_VOLATILE need to be included for creating a new UEFI
> variable?
>
> The UEFI Specification does not mention usage of any Storage Attribute while
> trying to modify an existing UEFI variable. But when we tried Setting a new
> value to an existing UEFI variable using the Win8 API
> ‘ExSetFirmwareEnvironmentVariable’ with Attributes
> EFI_VARIABLE_RUNTIME_ACCESS and EFI_VARIABLE_NON_VOLATILE, even in that case
> we experienced a BSOD of ‘Bug Check 0x4E: PFN_LIST_CORRUPT’.
>
> Does the Win8 API ‘ExSetFirmwareEnvironmentVariable’ support the Set feature
> appropriately? or are there some known issues with this API?
> Anyone will be able to let know about the same?
>
> Thanks
> Monisha
>
>
>
>
>
> —
> NTDEV is sponsored by OSR
>
> For our schedule of WDF, WDM, debugging and other seminars visit:
> http://www.osr.com/seminars
>
> To unsubscribe, visit the List Server section of OSR Online at http://www.osronline.com/page.cfm?name=ListServer

I tried passing the buffer by doing a dynamic allocation from NonPagedPool. Still seeing the PFN_LIST_CORRUPT (4e) issue.

Could you suggest what memory type is the Buffer corresponding to ‘ExSetFirmwareEnvironmentVariable’ expecting? I am just trying to set the value of an existing UEFI variable using the ‘ExSetFirmwareEnvironmentVariable’ API. Is it expecting a contiguous physical memory in the Buffer?

Looks like need to analyze the dump in details.

Thanks
Monisha

From: xxxxx@hotmail.com
To: xxxxx@lists.osr.com
Subject: RE: [ntdev] Issues with using ExSetFirmwareEnvironmentVariable to set/create UEFI variables?
Date: Wed, 25 Jul 2012 10:14:26 -0700

I was trying to pass 1 byte of data to set the UEFI variable data and so passed onto it a pointer to a local variable.

Should I try the buffer with a NonPaged Memory allocated dynamically?

Thanks
Monisha

From: xxxxx@windows.microsoft.com
Subject: Re:[ntdev] Issues with using ExSetFirmwareEnvironmentVariable to set/create UEFI variables?
Date: Tue, 24 Jul 2012 18:12:25 -0700
To: xxxxx@lists.osr.com

Your post made me curious, so I went and read the code. The code locks the
buffer you pass in with MmProbeAndLockPages. What is your buffer backed by?
It sounds like this corrupted the PFN list.

Jake Oshins
Windows Kernel Team

The message offers no warranties and confers no rights.

“Monisha Barooah” wrote in message
> news:xxxxx@ntdev…
> Hello Everyone,
> I have been struggling for a while with using the Win8
> ‘ExSetFirmwareEnvironmentVariable’ API to set/create UEFI variables.
>
> 1) On using the ‘ExGetFirmwareEnvironmentVariable’ API to read the values of
> an existing UEFI variable, the operation is successful when we tried reading
> a UEFI variable of size 1 bytes and by providing the ‘Attributes’ of
> EFI_VARIABLE_RUNTIME_ACCESS and EFI_VARIABLE_NON_VOLATILE as input to the
> API.
>
> 2) But when we try to use the same set of Attributes
> EFI_VARIABLE_RUNTIME_ACCESS and EFI_VARIABLE_NON_VOLATILE as input to the
> Win8 API ‘ExSetFirmwareEnvironmentVariable’ while trying to set a new value
> to the UEFI variable mentioned in (1), the Win8 system experiences a BSOD
> and the bugcheck error shows the error code as ‘Bug Check 0x4E:
> PFN_LIST_CORRUPT’.
>
> On analyzing the Win8 system, looks like the Administrator account for that
> system had been configured to ‘SE_SYSTEM_ENVIRONMENT_PRIVILEGE’ (Modify
> firmware environment variables) and our driver code is getting executed in
> Administrator account. As such, there should be no issues with the privilege
> while using the Set API in Win8.
>
> The UEFI Specification Section 7.2 mentions that for creating UEFI variables
> the Storage Attribute needs to be mentioned as an Attribute while using the
> Win8 API ‘ExSetFirmwareEnvironmentVariable’? Could anyone let know which of
> the attributes other than EFI_VARIABLE_RUNTIME_ACCESS and
> EFI_VARIABLE_NON_VOLATILE need to be included for creating a new UEFI
> variable?
>
> The UEFI Specification does not mention usage of any Storage Attribute while
> trying to modify an existing UEFI variable. But when we tried Setting a new
> value to an existing UEFI variable using the Win8 API
> ‘ExSetFirmwareEnvironmentVariable’ with Attributes
> EFI_VARIABLE_RUNTIME_ACCESS and EFI_VARIABLE_NON_VOLATILE, even in that case
> we experienced a BSOD of ‘Bug Check 0x4E: PFN_LIST_CORRUPT’.
>
> Does the Win8 API ‘ExSetFirmwareEnvironmentVariable’ support the Set feature
> appropriately? or are there some known issues with this API?
> Anyone will be able to let know about the same?
>
> Thanks
> Monisha
>
>
>
>
>
> —
> NTDEV is sponsored by OSR
>
> For our schedule of WDF, WDM, debugging and other seminars visit:
> http://www.osr.com/seminars
>
> To unsubscribe, visit the List Server section of OSR Online at http://www.osronline.com/page.cfm?name=ListServer


NTDEV is sponsored by OSR

For our schedule of WDF, WDM, debugging and other seminars visit:
http://www.osr.com/seminars

To unsubscribe, visit the List Server section of OSR Online at http://www.osronline.com/page.cfm?name=ListServer

Monisha Barooah wrote:

Could you suggest what memory type is the Buffer corresponding to
‘ExSetFirmwareEnvironmentVariable’ expecting? I am just trying to set
the value of an existing UEFI variable using the
‘ExSetFirmwareEnvironmentVariable’ API. Is it expecting a contiguous
physical memory in the Buffer?

A 1-byte buffer cannot be non-contiguous…


Tim Roberts, xxxxx@probo.com
Providenza & Boekelheide, Inc.

I can't really know from what you've posted here what the problem is. I
suggest you contact your Microsoft support person.

Jake Oshins
Windows Kernel Team

The message offers no warranties and confers no rights.

"Monisha Barooah" wrote in message
news:xxxxx@ntdev...
I tried passing the buffer by doing a dynamic allocation from NonPagedPool.
Still seeing the PFN_LIST_CORRUPT (4e) issue.

Could you suggest what memory type is the Buffer corresponding to
'ExSetFirmwareEnvironmentVariable' expecting? I am just trying to set the
value of an existing UEFI variable using the
'ExSetFirmwareEnvironmentVariable' API. Is it expecting a contiguous
physical memory in the Buffer?

Looks like need to analyze the dump in details.

Thanks
Monisha

From: xxxxx@hotmail.com
To: xxxxx@lists.osr.com
Subject: RE: [ntdev] Issues with using ExSetFirmwareEnvironmentVariable to
set/create UEFI variables?
Date: Wed, 25 Jul 2012 10:14:26 -0700

I was trying to pass 1 byte of data to set the UEFI variable data and so
passed onto it a pointer to a local variable.

Should I try the buffer with a NonPaged Memory allocated dynamically?

Thanks
Monisha

> From: xxxxx@windows.microsoft.com
> Subject: Re:[ntdev] Issues with using ExSetFirmwareEnvironmentVariable to
> set/create UEFI variables?
> Date: Tue, 24 Jul 2012 18:12:25 -0700
> To: xxxxx@lists.osr.com
>
> Your post made me curious, so I went and read the code. The code locks the
> buffer you pass in with MmProbeAndLockPages. What is your buffer backed
> by?
> It sounds like this corrupted the PFN list.
>
> Jake Oshins
> Windows Kernel Team
>
> The message offers no warranties and confers no rights.
> -----------------------------------------------------------------
> "Monisha Barooah" wrote in message
> news:xxxxx@ntdev...
> Hello Everyone,
> I have been struggling for a while with using the Win8
> 'ExSetFirmwareEnvironmentVariable' API to set/create UEFI variables.
>
> 1) On using the 'ExGetFirmwareEnvironmentVariable' API to read the values
> of
> an existing UEFI variable, the operation is successful when we tried
> reading
> a UEFI variable of size 1 bytes and by providing the 'Attributes' of
> EFI_VARIABLE_RUNTIME_ACCESS and EFI_VARIABLE_NON_VOLATILE as input to the
> API.
>
> 2) But when we try to use the same set of Attributes
> EFI_VARIABLE_RUNTIME_ACCESS and EFI_VARIABLE_NON_VOLATILE as input to the
> Win8 API 'ExSetFirmwareEnvironmentVariable' while trying to set a new
> value
> to the UEFI variable mentioned in (1), the Win8 system experiences a BSOD
> and the bugcheck error shows the error code as 'Bug Check 0x4E:
> PFN_LIST_CORRUPT'.
>
> On analyzing the Win8 system, looks like the Administrator account for
> that
> system had been configured to 'SE_SYSTEM_ENVIRONMENT_PRIVILEGE' (Modify
> firmware environment variables) and our driver code is getting executed in
> Administrator account. As such, there should be no issues with the
> privilege
> while using the Set API in Win8.
>
> The UEFI Specification Section 7.2 mentions that for creating UEFI
> variables
> the Storage Attribute needs to be mentioned as an Attribute while using
> the
> Win8 API 'ExSetFirmwareEnvironmentVariable'? Could anyone let know which
> of
> the attributes other than EFI_VARIABLE_RUNTIME_ACCESS and
> EFI_VARIABLE_NON_VOLATILE need to be included for creating a new UEFI
> variable?
>
> The UEFI Specification does not mention usage of any Storage Attribute
> while
> trying to modify an existing UEFI variable. But when we tried Setting a
> new
> value to an existing UEFI variable using the Win8 API
> 'ExSetFirmwareEnvironmentVariable' with Attributes
> EFI_VARIABLE_RUNTIME_ACCESS and EFI_VARIABLE_NON_VOLATILE, even in that
> case
> we experienced a BSOD of 'Bug Check 0x4E: PFN_LIST_CORRUPT'.
>
> Does the Win8 API 'ExSetFirmwareEnvironmentVariable' support the Set
> feature
> appropriately? or are there some known issues with this API?
> Anyone will be able to let know about the same?
>
> Thanks
> Monisha
>
>
>
>
>
> ---
> NTDEV is sponsored by OSR
>
> For our schedule of WDF, WDM, debugging and other seminars visit:
> OSR Seminars – OSR
>
> To unsubscribe, visit the List Server section of OSR Online at
> ListServer/Forum

---
NTDEV is sponsored by OSR

For our schedule of WDF, WDM, debugging and other seminars visit:
OSR Seminars – OSR

To unsubscribe, visit the List Server section of OSR Online at
ListServer/Forum

Monisha,

It sounds like you (or some other code on the sstem) may be somehow
corrupting memory used by the PFN list sometime before your call to
ExSetFirmwareEnvironmentVariable. When ExSetFirmwareEnvironmentVariable
calls MmProbeAndLockPages, the system needs to look at the PFN list and
discovers it is corrupted.

So I would focus on figuring out whether your driver may be poking at memory
it is not supposed to.

Good luck,

  • Danilo

-----Original Message-----
From: xxxxx@lists.osr.com
[mailto:xxxxx@lists.osr.com] On Behalf Of Jake Oshins
Sent: Wednesday, July 25, 2012 9:53 PM
To: Windows System Software Devs Interest List
Subject: Re:[ntdev] Issues with using ExSetFirmwareEnvironmentVariable to
set/create UEFI variables?

I can't really know from what you've posted here what the problem is. I
suggest you contact your Microsoft support person.

Jake Oshins
Windows Kernel Team

The message offers no warranties and confers no rights.

"Monisha Barooah" wrote in message
news:xxxxx@ntdev...
I tried passing the buffer by doing a dynamic allocation from NonPagedPool.
Still seeing the PFN_LIST_CORRUPT (4e) issue.

Could you suggest what memory type is the Buffer corresponding to
'ExSetFirmwareEnvironmentVariable' expecting? I am just trying to set the
value of an existing UEFI variable using the
'ExSetFirmwareEnvironmentVariable' API. Is it expecting a contiguous
physical memory in the Buffer?

Looks like need to analyze the dump in details.

Thanks
Monisha

From: xxxxx@hotmail.com
To: xxxxx@lists.osr.com
Subject: RE: [ntdev] Issues with using ExSetFirmwareEnvironmentVariable to
set/create UEFI variables?
Date: Wed, 25 Jul 2012 10:14:26 -0700

I was trying to pass 1 byte of data to set the UEFI variable data and so
passed onto it a pointer to a local variable.

Should I try the buffer with a NonPaged Memory allocated dynamically?

Thanks
Monisha

> From: xxxxx@windows.microsoft.com
> Subject: Re:[ntdev] Issues with using ExSetFirmwareEnvironmentVariable to
> set/create UEFI variables?
> Date: Tue, 24 Jul 2012 18:12:25 -0700
> To: xxxxx@lists.osr.com
>
> Your post made me curious, so I went and read the code. The code locks the
> buffer you pass in with MmProbeAndLockPages. What is your buffer backed
> by?
> It sounds like this corrupted the PFN list.
>
> Jake Oshins
> Windows Kernel Team
>
> The message offers no warranties and confers no rights.
> -----------------------------------------------------------------
> "Monisha Barooah" wrote in message
> news:xxxxx@ntdev...
> Hello Everyone,
> I have been struggling for a while with using the Win8
> 'ExSetFirmwareEnvironmentVariable' API to set/create UEFI variables.
>
> 1) On using the 'ExGetFirmwareEnvironmentVariable' API to read the values
> of
> an existing UEFI variable, the operation is successful when we tried
> reading
> a UEFI variable of size 1 bytes and by providing the 'Attributes' of
> EFI_VARIABLE_RUNTIME_ACCESS and EFI_VARIABLE_NON_VOLATILE as input to the
> API.
>
> 2) But when we try to use the same set of Attributes
> EFI_VARIABLE_RUNTIME_ACCESS and EFI_VARIABLE_NON_VOLATILE as input to the
> Win8 API 'ExSetFirmwareEnvironmentVariable' while trying to set a new
> value
> to the UEFI variable mentioned in (1), the Win8 system experiences a BSOD
> and the bugcheck error shows the error code as 'Bug Check 0x4E:
> PFN_LIST_CORRUPT'.
>
> On analyzing the Win8 system, looks like the Administrator account for
> that
> system had been configured to 'SE_SYSTEM_ENVIRONMENT_PRIVILEGE' (Modify
> firmware environment variables) and our driver code is getting executed in
> Administrator account. As such, there should be no issues with the
> privilege
> while using the Set API in Win8.
>
> The UEFI Specification Section 7.2 mentions that for creating UEFI
> variables
> the Storage Attribute needs to be mentioned as an Attribute while using
> the
> Win8 API 'ExSetFirmwareEnvironmentVariable'? Could anyone let know which
> of
> the attributes other than EFI_VARIABLE_RUNTIME_ACCESS and
> EFI_VARIABLE_NON_VOLATILE need to be included for creating a new UEFI
> variable?
>
> The UEFI Specification does not mention usage of any Storage Attribute
> while
> trying to modify an existing UEFI variable. But when we tried Setting a
> new
> value to an existing UEFI variable using the Win8 API
> 'ExSetFirmwareEnvironmentVariable' with Attributes
> EFI_VARIABLE_RUNTIME_ACCESS and EFI_VARIABLE_NON_VOLATILE, even in that
> case
> we experienced a BSOD of 'Bug Check 0x4E: PFN_LIST_CORRUPT'.
>
> Does the Win8 API 'ExSetFirmwareEnvironmentVariable' support the Set
> feature
> appropriately? or are there some known issues with this API?
> Anyone will be able to let know about the same?
>
> Thanks
> Monisha
>
>
>
>
>
> ---
> NTDEV is sponsored by OSR
>
> For our schedule of WDF, WDM, debugging and other seminars visit:
> OSR Seminars – OSR
>
> To unsubscribe, visit the List Server section of OSR Online at
> ListServer/Forum

---
NTDEV is sponsored by OSR

For our schedule of WDF, WDM, debugging and other seminars visit:
OSR Seminars – OSR

To unsubscribe, visit the List Server section of OSR Online at
ListServer/Forum

---
NTDEV is sponsored by OSR

For our schedule of WDF, WDM, debugging and other seminars visit:
OSR Seminars – OSR

To unsubscribe, visit the List Server section of OSR Online at
ListServer/Forum