Hello Everyone,
I have been struggling for a while with using the Win8 ‘ExSetFirmwareEnvironmentVariable’ API to set/create UEFI variables.
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.
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?
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?
-----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?
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
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
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