// acpiioct.h
typedef struct _ACPI_EVAL_INPUT_BUFFER_SIMPLE_STRING_V1 {
ULONG Signature;
union {
UCHAR MethodName[4];
ULONG MethodNameAsUlong;
} DUMMYUNIONNAME;
ULONG StringLength;
UCHAR String[ANYSIZE_ARRAY];
} ACPI_EVAL_INPUT_BUFFER_SIMPLE_STRING_V1, *PACPI_EVAL_INPUT_BUFFER_SIMPLE_STRING_V1, ACPI_EVAL_INPUT_BUFFER_SIMPLE_STRING, *PACPI_EVAL_INPUT_BUFFER_SIMPLE_STRING;
View the official Windows Driver Kit DDI referenceNo description available.
The ACPI_EVAL_INPUT_BUFFER_SIMPLE_STRING 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 argument that is an ASCII string.
SignatureThe signature of a string input buffer, which must be set to ACPI_EVAL_INPUT_BUFFER_SIMPLE_STRING_SIGNATURE.
DUMMYUNIONNAMEDUMMYUNIONNAME.MethodNameThis union member is a four-element ASCII character array that contains the name of the method. For example, 'ABCD.'
DUMMYUNIONNAME.MethodNameAsUlongThis union member is a ULONG-typed variable that contains the name of the method in the format (ULONG) ('DCBA'), where the method name is the four-element ASCII character array 'ABCD.'
StringLengthThe number of ASCII characters in the array of characters that is supplied by String.
StringAn ASCII character string that contains the number of characters that is specified by StringLength. The string does not include a NULL terminator.
If a device supports a control method named ABCD that takes an ASCII string 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 structure as follows:
For more information about how to use this structure, see Evaluating ACPI Control Methods.