[My problem is under WinXP!]
I'm now implementing Video card driver, and got the following difficulty.
Following is an example of the ACPI namespace in our system.
SB
|- PCI
|- WMI0
|- VGA
|- _DOS
|- _DOD
|- _ROM
|- _DSM
|- CRT
|- _ADR
|- _DCS
|- _DGS
|- _DSS
|- HDMI
|- _ADR
|- _DCS
|- _DGS
|- _DSS
|- LCD
|- _ADR
|- _DCS
|- _DGS
|- _DSS
Currently, I can get the PDO (Physical Device Object) of our driver (which
means the VGA device in this example) from the DriverEntry.
So I can evaluate any ACPI method which belongs to the VGA device (_DOS,
_DOD, etc.) by using this PDO.
If I want to evaluate the ACPI method under the child device(_DCS, _DGS,
etc.), as I know, WMI-tunneling is a way to achieve it.
But that need SBIOS to implement somethinig in it so I don't want to
evaluate those ACPI methods by WMI tunneling.
I found the IOCTL controls IOCTL_ACPI_ENUM_CHILDREN and
IOCTL_ACPI_EVAL_METHOD_EX which can enumerate and evaluate the ACPI methods
for all devices include childe devices.
But unfortunately, these two IOCTL controls are only supported in WinVista.
Is there any method to evaluate the ACPI methods which are within child
devices in XP?
Thanks!