The ACPI driver supports the IOCTL_ACPI_EVAL_METHOD request. 设备的驱动程序可以使用此请求来评估一个控制方法,该方法是向其发送请求的设备 ACPI 命名空间中的即时子对象。 The IOCTL_ACPI_EVAL_METHOD request supports the following input structures:
| Input structure | Description |
|---|---|
| ACPI_EVAL_INPUT_BUFFER | 提供缓冲区的签名和不采用输入参数的控件方法的名称。 |
| ACPI_EVAL_INPUT_BUFFER_SIMPLE_INTEGER | 提供结构的签名、控件方法的名称和 ULONG 类型的单个输入参数值。 |
| ACPI_EVAL_INPUT_BUFFER_SIMPLE_STRING | 提供结构的签名、控件方法的名称以及一个以 NULL 结尾的 ASCII 字符串的输入参数。 |
| ACPI_EVAL_INPUT_BUFFER_COMPLEX | Supplies the signature of the structure, the name of a control method, and an input array of ACPI_METHOD_ARGUMENT structures. 该数组可以包含最多七个此类结构。 ACPI_METHOD_ARGUMENT结构可以包含 ULONG 整数、ASCII 字符串、ACPI 包说明或自定义数据的数组。 |
Windows also supports the IOCTL_ACPI_EVAL_METHOD_EX request. 设备的驱动程序可以使用此请求来评估控件方法,该方法是向其发送请求的设备 ACPI 命名空间中的子对象。 The IOCTL_ACPI_EVAL_METHOD_EX request supports the following input structures:
| Input structure | Description |
|---|---|
| ACPI_EVAL_INPUT_BUFFER_EX | 提供结构签名以及不采用输入参数的控件方法的路径和名称。 |
| ACPI_EVAL_INPUT_BUFFER_SIMPLE_INTEGER_EX | 提供结构和控件方法的路径和名称的签名,该方法采用单个类型整数ULONG64作为输入参数。 |
| ACPI_EVAL_INPUT_BUFFER_SIMPLE_STRING_EX | 提供结构和控件方法的路径和名称的签名,该方法采用单个以 NULL 结尾的 ASCII 字符串作为输入参数。 |
| ACPI_EVAL_INPUT_BUFFER_COMPLEX_EX | supplies the signature of the structure and the path and name of a control method that takes an array of ACPI_METHOD_ARGUMENT structures as input. 该数组可以包含最多七个此类结构。 An ACPI_METHOD_ARGUMENT structure can contain a ULONG integer, an ASCII string, an ACPI package description, or an array of custom data. |
To obtain the path and name of child objects in the ACPI namespace of a device, a driver for a device can use an IOCTL_ACPI_ENUM_CHILDREN request, as described in Enumerating Child Devices and Control Methods.