ACPI_EVAL_INPUT_BUFFER_COMPLEX_V1 structure (acpiioct.h)

The ACPI_EVAL_INPUT_BUFFER_COMPLEX structure is used as input to an IOCTL_ACPI_EVAL_METHOD request and to an IOCTL_ACPI_ASYNC_EVAL_METHOD request. The structure supplies the name of a control method and an input array of ACPI_METHOD_ARGUMENT structures.

Syntax

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;

Members

Signature

The signature of a complex input buffer, which must be set to ACPI_EVAL_INPUT_BUFFER_COMPLEX_SIGNATURE.

DUMMYUNIONNAME

DUMMYUNIONNAME.MethodName[4]

A four-element ASCII character array that contains the name of the method. For example, 'ABCD.'

DUMMYUNIONNAME.MethodNameAsUlong

A value of type ULONG that contains the name of the method in the format (ULONG) ('DCBA'), where the method name is the four-element ASCII character array 'ABCD.'

Size

The number of bytes that the Argument array contains.

ArgumentCount

The number of variable-length ACPI_METHOD_ARGUMENT structures that the Argument array contains. The Argument array can hold a maximum of seven argument structures.

Argument[ANYSIZE_ARRAY]

An array of ACPI_METHOD_ARGUMENT structures.

Remarks

If a device supports a control method named 'ABCD' that takes an array of arguments as input, a driver for the device can evaluate the method by sending an IOCTL_ACPI_EVAL_METHOD request or an IOCTL_ACPI_ASYNC_EVAL_METHOD request to the device and setting the members of the input ACPI_EVAL_INPUT_BUFFER_COMPLEX structure as follows:

  • Set Signature to ACPI_EVAL_INPUT_BUFFER_COMPLEX_SIGNATURE.
  • Set MethodName to 'ABCD' or MethodNameAsUlong to (ULONG)('DCBA').
  • Set Size to the number of bytes in the Argument array.
  • Set Argument count to the number of arguments in the Argument array.
  • Set Argument to the array of ACPI_METHOD_ARGUMENT structures.
For more information about how to use this structure, see Evaluating ACPI Control Methods.

Requirements

Requirement Value
Minimum supported client Windows 2000 and later versions of Windows.
Header acpiioct.h (include Acpiioct.h)

See also

ACPI_METHOD_ARGUMENT

IOCTL_ACPI_ASYNC_EVAL_METHOD

IOCTL_ACPI_EVAL_METHOD