Accessing EFI runtime services from Windows drivers

Hi,

Can anyone please advise if it is possible for widnows drivers to access EFI runtime services on an EFI bootable machine when windows 7 x64 is booting up? I know it is possible on both Mac and Linux OS’s, and I can’t find any info on Windows platform. Thanks.

pdam

Anything is theoretically possible with enough effort. Windows, however,
provides nothing to help in this respect. In fact, Windows doesn’t use EFI
runtime services at all.

As usual, the more interesting question is “what are you trying to
accomplish at a higher level and maybe we’ll be able to help you.”

Jake Oshins
Hyper-V I/O Architect
Windows Kernel Group

This post implies no warranties and confers no rights.


wrote in message news:xxxxx@ntdev…

Hi,

Can anyone please advise if it is possible for widnows drivers to access EFI
runtime services on an EFI bootable machine when windows 7 x64 is booting
up? I know it is possible on both Mac and Linux OS’s, and I can’t find any
info on Windows platform. Thanks.

pdam

I have got an EFI boot loader application. It collects data from user/system, performs some preboot tasks, loads windows boot manager and then passes the processed data to a Windows driver for further processing.

I am not sure if there are other alternatively methods to pass data from EFI to windows environment, but if my windows driver can access the EFI runtime services, then the data can be passed via EFI variables. (the option of saving the data into a file then retrieving by the driver is not considered in this application)

Thanks.

We once had a windows WDM driver on the root bus which used to
communicate with EFI BIOS. We used our own Communication buffer then…

-----Original Message-----
From: xxxxx@lists.osr.com
[mailto:xxxxx@lists.osr.com] On Behalf Of xxxxx@tesco.net
Sent: Tuesday, November 23, 2010 2:15 PM
To: Windows System Software Devs Interest List
Subject: RE:[ntdev] Accessing EFI runtime services from Windows drivers

I have got an EFI boot loader application. It collects data from
user/system, performs some preboot tasks, loads windows boot manager and
then passes the processed data to a Windows driver for further
processing.

I am not sure if there are other alternatively methods to pass data from
EFI to windows environment, but if my windows driver can access the EFI
runtime services, then the data can be passed via EFI variables. (the
option of saving the data into a file then retrieving by the driver is
not considered in this application)

Thanks.


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

It sounds like you’re on your own. I’d use a file.

Jake Oshins
Hyper-V I/O Architect
Windows Kernel Group

This post implies no warranties and confers no rights.


wrote in message news:xxxxx@ntdev…

I have got an EFI boot loader application. It collects data from
user/system, performs some preboot tasks, loads windows boot manager and
then passes the processed data to a Windows driver for further processing.

I am not sure if there are other alternatively methods to pass data from EFI
to windows environment, but if my windows driver can access the EFI runtime
services, then the data can be passed via EFI variables. (the option of
saving the data into a file then retrieving by the driver is not considered
in this application)

Thanks.

AB and Jake,

Many thanks for the replies.

I believe there is an undocumented feature in Windows that enables BCDEdit to set EFI variables. Now I need to figure out how to use the undocumented feature.

Taking a dependency on an undocumented interface will put you at risk of breaking on the next release, hotfix, etc. Undocumented bits are typically undocumented because they are not planned to be a stablized, long-term-supported interface.

  • S

-----Original Message-----
From: xxxxx@lists.osr.com [mailto:xxxxx@lists.osr.com] On Behalf Of xxxxx@tesco.net
Sent: Wednesday, November 24, 2010 12:43 AM
To: Windows System Software Devs Interest List
Subject: RE:[ntdev] Accessing EFI runtime services from Windows drivers

AB and Jake,

Many thanks for the replies.

I believe there is an undocumented feature in Windows that enables BCDEdit to set EFI variables. Now I need to figure out how to use the undocumented feature.


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

Yes, I totally agree with you.

Why? You do realize that “undocumented” also means “unsupported” and “may change, breaking your system, and we really really don’t care since it’s undocumented you ain’t supposed to be using it anyway.”

Gary

----- Original Message -----
From: xxxxx@tesco.net
To: “Windows System Software Devs Interest List”
Sent: Wednesday, November 24, 2010 2:42:34 AM
Subject: RE:[ntdev] Accessing EFI runtime services from Windows drivers

AB and Jake,

Many thanks for the replies.

I believe there is an undocumented feature in Windows that enables BCDEdit to set EFI variables. Now I need to figure out how to use the undocumented feature.


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