// acpiioct.h
typedef struct _ACPI_METHOD_ARGUMENT_V1 {
USHORT Type;
USHORT DataLength;
union {
ULONG Argument;
UCHAR Data[ANYSIZE_ARRAY];
} DUMMYUNIONNAME;
} ACPI_METHOD_ARGUMENT_V1, ACPI_METHOD_ARGUMENT;
View the official Windows Driver Kit DDI referenceNo description available.
The ACPI_METHOD_ARGUMENT structure contains the value of an input or output argument of an ACPI control method.
TypeThe type of the method argument, as specified by one of the following:
Argument contains an integer value of type ULONG.
The Data array contains a NULL-terminated ASCII string, and DataLength supplies the number of characters in the string, including the NULL terminator.
The Data array contains custom data, and DataLength supplies the number of consecutive array elements that contain the custom data, beginning with the Data[0] element.
The Data array contains an ACPI package descriptor and DataLength supplies the number of consecutive array elements that contain the package descriptor, beginning with the Data[0] element.
DataLengthThe number of UCHAR elements in the Data array that contains the argument data.
DUMMYUNIONNAMEDUMMYUNIONNAME.ArgumentAn argument value of type ULONG.
DUMMYUNIONNAME.DataAn array of values of type UCHAR that contains argument data.
An ACPI_EVAL_OUTPUT_BUFFER structure includes an Argument array of ACPI_METHOD_ARGUMENT structures. The following IOCTLs evaluate control methods and return output arguments in an ACPI_EVAL_OUTPUT_BUFFER structure:
IOCTL_ACPI_ASYNC_EVAL_METHOD_EX
The ACPI_METHOD_ARGUMENT structure is also used to supply an array of complex input arguments to a control method. The ACPI_EVAL_INPUT_BUFFER_COMPLEX and ACPI_EVAL_INPUT_BUFFER_COMPLEX_EX structures includes an Argument array of type ACPI_METHOD_ARGUMENT.
For more information about how to use ACPI_METHOD_ARGUMENT structures to supply and retrieve argument data to an ACPI control method, see Evaluating ACPI Control Methods.
ACPI_EVAL_INPUT_BUFFER_COMPLEX
ACPI_EVAL_INPUT_BUFFER_COMPLEX_EX