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 型の 1 つの入力引数値を指定します。 |
| 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. 配列には、このような構造体の最大数を 7 個含めることができます。 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型の 1 つの整数を受け取るコントロール メソッドのパスと名前を提供します。 |
| 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. 配列には、このような構造体の最大数を 7 個含めることができます。 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.