ACPI_EVAL_INPUT_BUFFER_COMPLEX_V1_EX 结构 (acpiioct.h)

ACPI_EVAL_INPUT_BUFFER_COMPLEX_EX 结构用作 IOCTL_ACPI_EVAL_METHOD_EX 请求和 IOCTL_ACPI_ASYNC_EVAL_METHOD_EX请求的 输入。 结构提供 ACPI 命名空间中的控制方法的路径和名称,以及 ACPI_METHOD_ARGUMENT 结构的输入参数数组。

语法

typedef struct _ACPI_EVAL_INPUT_BUFFER_COMPLEX_V1_EX {
  ULONG                   Signature;
  CHAR                    MethodName[256];
  ULONG                   Size;
  ULONG                   ArgumentCount;
  ACPI_METHOD_ARGUMENT_V1 Argument[ANYSIZE_ARRAY];
} ACPI_EVAL_INPUT_BUFFER_COMPLEX_V1_EX, *PACPI_EVAL_INPUT_BUFFER_COMPLEX_V1_EX, ACPI_EVAL_INPUT_BUFFER_COMPLEX_EX, *PACPI_EVAL_INPUT_BUFFER_COMPLEX_EX;

成员

Signature

扩展复杂输入缓冲区的签名,必须设置为ACPI_EVAL_INPUT_BUFFER_COMPLEX_SIGNATURE_EX。

MethodName[256]

一个以 NULL 结尾的 ASCII 字符串,其中包含 ACPI 命名空间中控制方法的路径和名称。 字符串可以包含的最大字符数(包括 NULL 终止符)为 256。

有关如何提供控件方法的路径和名称的详细信息,请参阅本主题后面的“备注”部分。

Size

Argument 数组包含的字节数。

ArgumentCount

Argument 数组包含的可变长度ACPI_METHOD_ARGUMENT结构的数目。 Argument 数组最多可以容纳七个参数结构。

Argument[ANYSIZE_ARRAY]

ACPI_METHOD_ARGUMENT 结构的数组。

注解

设备的驱动程序可以使用IOCTL_ACPI_EVAL_METHOD_EX请求或IOCTL_ACPI_ASYNC_EVAL_METHOD_EX请求来评估作为设备的后代子对象的控制方法。 如果 方法采用复杂的参数数组,则这些请求采用输入ACPI_EVAL_INPUT_BUFFER_COMPLEX_EX结构,如下所示:

  • “签名” 设置为“ACPI_EVAL_INPUT_BUFFER_COMPLEX_SIGNATURE_EX”。
  • MethodName 设置为以 NULL 结尾的字符串,该字符串向 ACPI 命名空间中的控制方法提供完整路径和名称,或者提供相对于评估请求发送到的设备的方法的路径和名称。

    例如,假设请求发送到名为“ABCD”的设备,该设备是 ACPI 命名空间根的直接子级,“ABCD”设备支持名为“CHLD”的子设备,并且“CHLD”设备支持名为“_FOO”的方法。 在这种情况下,评估请求可以提供“\ABCD”。CHLD._FOO“,即 ACPI 命名空间中控制方法的完全限定路径和名称,或”CHLD._FOO“,它是相对于 ACPI 命名空间中”ABCD“设备的控制方法的路径和名称。

    有关如何获取 ACPI 命名空间中控制方法的完全限定路径和名称的详细信息,请参阅 枚举子设备和控制方法

  • Size 设置为 Argument 数组中的字节数。
  • ArgumentCount 设置为 Argument 数组中的参数数。
  • 参数 设置为ACPI_METHOD_ARGUMENT结构的数组。
有关如何使用此结构的详细信息,请参阅 评估 ACPI 控制方法

要求

要求
最低受支持的客户端 Windows Vista 和更高版本的 Windows。
标头 acpiioct.h (包括 Acpiioct.h)

另请参阅

ACPI_METHOD_ARGUMENT

IOCTL_ACPI_ASYNC_EVAL_METHOD_EX

IOCTL_ACPI_EVAL_METHOD_EX