制御メソッドの入力バッファーの構造
ACPI ドライバーは、IOCTL_ACPI_EVAL_METHOD 要求をサポートします。 デバイスのドライバーは、この要求を使用して、要求が送信されるデバイスの ACPI 名前空間内の直接の子オブジェクトである制御メソッドを評価できます。 IOCTL_ACPI_EVAL_METHOD 要求では、次の入力構造がサポートされています。
入力構造 | 説明 |
---|---|
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 | 構造体のシグネチャ、制御メソッドの名前、ACPI_METHOD_ARGUMENT 構造体の入力配列を提供します。 配列には、このような構造体の最大数を 7 個含めることができます。 ACPI_METHOD_ARGUMENT 構造体には、ULONG 整数、ASCII 文字列、ACPI パッケージの説明、またはカスタム データの配列を含めることができます。 |
Windows では、IOCTL_ACPI_EVAL_METHOD_EX 要求もサポートされています。 デバイスのドライバーは、この要求を使用して、要求が送信されるデバイスの ACPI 名前空間内の子孫の子オブジェクトである制御メソッドを評価できます。 IOCTL_ACPI_EVAL_METHOD_EX 要求では、次の入力構造がサポートされています。
入力構造 | 説明 |
---|---|
ACPI_EVAL_INPUT_BUFFER_EX | 構造体のシグネチャと、入力引数を受け取らない制御メソッドのパスと名前を提供します。 |
ACPI_EVAL_INPUT_BUFFER_SIMPLE_INTEGER_EX | 構造体のシグネチャと、入力引数として ULONG64 型の 1 つの整数を受け取る制御メソッドのパスと名前を提供します。 |
ACPI_EVAL_INPUT_BUFFER_SIMPLE_STRING_EX | 構造体のシグネチャと、入力引数として 1 つの NULL 終端の ASCII 文字列を受け取る制御メソッドのパスと名前を提供します。 |
ACPI_EVAL_INPUT_BUFFER_COMPLEX_EX | 構造体のシグネチャと、入力として ACPI_METHOD_ARGUMENT 構造体の配列を受け取る制御メソッドのパスと名前を提供します。 配列には、このような構造体の最大数を 7 個含めることができます。 ACPI_METHOD_ARGUMENT 構造体には、ULONG 整数、ASCII 文字列、ACPI パッケージの説明、またはカスタム データの配列を含めることができます。 |
デバイスのドライバーはデバイスの ACPI 名前空間内の子オブジェクトのパスと名前を取得するために、IOCTL_ACPI_ENUM_CHILDREN 要求を使用することができます (「子デバイスと制御メソッドの列挙」を参照)。