ACPI_EVAL_INPUT_BUFFER_COMPLEX_V1 结构 (acpiioct.h)

ACPI_EVAL_INPUT_BUFFER_COMPLEX 结构用作 IOCTL_ACPI_EVAL_METHOD 请求和 IOCTL_ACPI_ASYNC_EVAL_METHOD请求的 输入。 结构提供控件方法的名称和 ACPI_METHOD_ARGUMENT 结构的输入数组。

语法

typedef struct _ACPI_EVAL_INPUT_BUFFER_COMPLEX_V1 {
  ULONG                   Signature;
  union {
    UCHAR MethodName[4];
    ULONG MethodNameAsUlong;
  } DUMMYUNIONNAME;
  ULONG                   Size;
  ULONG                   ArgumentCount;
  ACPI_METHOD_ARGUMENT_V1 Argument[ANYSIZE_ARRAY];
} ACPI_EVAL_INPUT_BUFFER_COMPLEX_V1, *PACPI_EVAL_INPUT_BUFFER_COMPLEX_V1, ACPI_EVAL_INPUT_BUFFER_COMPLEX, *PACPI_EVAL_INPUT_BUFFER_COMPLEX;

成员

Signature

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

DUMMYUNIONNAME

DUMMYUNIONNAME.MethodName[4]

包含方法名称的四元素 ASCII 字符数组。 例如,“ABCD”。

DUMMYUNIONNAME.MethodNameAsUlong

ULONG 类型的值,包含采用 ULONG) ('DCBA') 格式 (方法名称,其中方法名称是四元素 ASCII 字符数组“ABCD”。

Size

Argument 数组包含的字节数。

ArgumentCount

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

Argument[ANYSIZE_ARRAY]

ACPI_METHOD_ARGUMENT结构的数组。

注解

如果设备支持名为“ABCD”的控制方法,该方法采用参数数组作为输入,则设备的驱动程序可以通过向设备发送IOCTL_ACPI_EVAL_METHOD请求或IOCTL_ACPI_ASYNC_EVAL_METHOD请求并设置输入ACPI_EVAL_INPUT_BUFFER_COMPLEX结构的成员来评估该方法,如下所示:

  • “签名” 设置为“ACPI_EVAL_INPUT_BUFFER_COMPLEX_SIGNATURE”。
  • MethodName 设置为“ABCD”,将 MethodNameAsUlong 设置为 (ULONG) ('DCBA') 。
  • Size 设置为 Argument 数组中的字节数。
  • 参数 计数设置为 Argument 数组中的参数数。
  • Argument 设置为ACPI_METHOD_ARGUMENT结构的数组。
有关如何使用此结构的详细信息,请参阅 评估 ACPI 控制方法

要求

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

另请参阅

ACPI_METHOD_ARGUMENT

IOCTL_ACPI_ASYNC_EVAL_METHOD

IOCTL_ACPI_EVAL_METHOD