제어 메서드 입력 버퍼 구조

ACPI 드라이버는 IOCTL_ACPI_EVAL_METHOD 요청을 지원합니다. 디바이스의 드라이버는 이 요청을 사용하여 요청이 전송되는 디바이스의 ACPI 네임스페이스에 있는 직접 자식 개체인 제어 메서드를 평가할 수 있습니다. IOCTL_ACPI_EVAL_METHOD 요청은 다음 입력 구조를 지원합니다.

입력 구조 Description
ACPI_EVAL_INPUT_BUFFER 입력 인수를 사용하지 않는 컨트롤 메서드의 이름과 버퍼의 서명을 제공합니다.
ACPI_EVAL_INPUT_BUFFER_SIMPLE_INTEGER 구조체의 서명, 컨트롤 메서드의 이름 및 ULONG 형식의 단일 입력 인수 값을 제공합니다.
ACPI_EVAL_INPUT_BUFFER_SIMPLE_STRING 구조체의 서명, 컨트롤 메서드의 이름 및 NULL로 종료된 ASCII 문자열인 입력 인수를 제공합니다.
ACPI_EVAL_INPUT_BUFFER_COMPLEX 구조체의 서명, 컨트롤 메서드의 이름 및 ACPI_METHOD_ARGUMENT 구조체의 입력 배열을 제공합니다. 배열에는 최대 7개의 구조체가 포함될 수 있습니다. ACPI_METHOD_ARGUMENT 구조에는 ULONG 정수, ASCII 문자열, ACPI 패키지 설명 또는 사용자 지정 데이터 배열이 포함될 수 있습니다.

Windows는 IOCTL_ACPI_EVAL_METHOD_EX 요청도 지원합니다. 디바이스의 드라이버는 이 요청을 사용하여 요청이 전송되는 디바이스의 ACPI 네임스페이스에 있는 하위 자식 개체인 제어 메서드를 평가할 수 있습니다. IOCTL_ACPI_EVAL_METHOD_EX 요청은 다음 입력 구조를 지원합니다.

입력 구조 Description
ACPI_EVAL_INPUT_BUFFER_EX 는 구조체의 서명과 입력 인수를 사용하지 않는 컨트롤 메서드의 경로 및 이름을 제공합니다.
ACPI_EVAL_INPUT_BUFFER_SIMPLE_INTEGER_EX 는 구조체의 서명과 ULONG64 형식의 단일 정수(ULONG64) 형식을 입력 인수로 사용하는 컨트롤 메서드의 경로 및 이름을 제공합니다.
ACPI_EVAL_INPUT_BUFFER_SIMPLE_STRING_EX 는 구조체의 서명과 단일 NULL로 종료된 ASCII 문자열을 입력 인수로 사용하는 컨트롤 메서드의 경로 및 이름을 제공합니다.
ACPI_EVAL_INPUT_BUFFER_COMPLEX_EX 는 구조체의 서명과 ACPI_METHOD_ARGUMENT 구조체의 배열을 입력으로 사용하는 컨트롤 메서드의 경로 및 이름을 제공합니다. 배열에는 최대 7개의 구조체가 포함될 수 있습니다. ACPI_METHOD_ARGUMENT 구조에는 ULONG 정수, ASCII 문자열, ACPI 패키지 설명 또는 사용자 지정 데이터 배열이 포함될 수 있습니다.

디바이스의 ACPI 네임스페이스에서 자식 개체의 경로와 이름을 가져오려면 디바이스의 드라이버는 자식 디바이스 열거 및 제어 메서드에 설명된 대로 IOCTL_ACPI_ENUM_CHILDREN 요청을 사용할 수 있습니다.