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结构的数组。
要求
要求 | 值 |
---|---|
最低受支持的客户端 | Windows 2000 及更高版本的 Windows。 |
标头 | acpiioct.h (包括 Acpiioct.h) |