IOCTL_ACPI_GET_DEVICE_INFORMATION IOCTL(acpiioct.h)
디바이스용 드라이버는 IOCTL_ACPI_GET_DEVICE_INFORMATION 디바이스 제어 요청을 사용하여 디바이스에 대한 세분화된 식별 정보를 얻을 수 있습니다. 이 IOCTL은 일반적으로 디바이스의 여러 버전 또는 수정 버전을 지원하는 드라이버에서 사용되며, 디바이스의 HW ID 문자열을 구성하는 구성 요소 부분을 검사하여 정확한 디바이스를 식별해야 합니다. 드라이버는 IoBuildDeviceIoControlRequest 를 호출하고 다음 입력 및 출력 매개 변수를 전달하여 이 요청을 빌드해야 합니다.
주 코드
입력 버퍼
다음과 같이 IoBuildDeviceIoControlRequest 입력 매개 변수를 설정합니다.
- IoControlCode 는 IOCTL_ACPI_GET_DEVICE_INFORMATION 설정됩니다.
- DeviceObject 는 디바이스의 PDO(물리적 디바이스 개체)에 대한 포인터로 설정됩니다.
- InputBuffer 는 컨트롤 메서드에 전달할 입력 인수의 형식에 따라 달라지는 입력 버퍼 구조에 대한 포인터로 설정됩니다. 이 IOCTL에서 지원하는 입력 인수 유형에 대한 자세한 내용은 이 항목의 뒷부분에 있는 설명 섹션을 참조하세요.
- InputBufferLength 는 InputBuffer에서 제공하는 입력 버퍼의 크기(바이트)로 설정됩니다.
- OutputBufferLength 는 OutputBuffer에서 제공하는 출력 버퍼의 크기를 바이트 단위로 제공합니다.
- InternalDeviceIoControl 이 FALSE로 설정됩니다.
- 이벤트가NULL로 설정됩니다.
입력 버퍼 길이
InputBufferLength 는 InputBuffer에서 제공하는 입력 버퍼의 크기(바이트)로 설정됩니다.
출력 버퍼
다음과 같이 IoBuildDeviceIoControlRequest 출력 매개 변수를 설정합니다.
- OutputBuffer 는 컨트롤 메서드의 출력 인수를 포함하는 ACPI_DEVICE_INFORMATION_OUTPUT_BUFFER 구조체에 대한 포인터를 제공합니다.
- IoStatusBlock 은 IO_STATUS_BLOCK 구조체로 설정됩니다.
출력 버퍼 길이
OutputBufferLength 는 OutputBuffer에서 제공하는 출력 버퍼의 크기를 바이트 단위로 제공합니다.
상태 블록
요청이 성공하면 IoStatusBlock-Status>가 STATUS_SUCCESS 설정되고, 그렇지 않으면 Status 멤버가 오류 코드로 설정됩니다. 출력 버퍼가 출력 버퍼 헤더를 포함할 만큼 크지 않으면 Status 멤버가 STATUS_BUFFER_TOO_SMALL. 출력 버퍼가 출력 버퍼 헤더를 포함할 만큼 크지만 컨트롤 메서드의 모든 출력 인수를 포함할 만큼 크지 않은 경우 Status 멤버는 STATUS_BUFFER_OVERFLOW 설정되고 OutputBuffer-Length>는 출력 버퍼의 필요한 길이로 설정됩니다.
요청이 성공하면 IoStatusBlock-Information> 멤버가 출력 버퍼에 반환되는 바이트 수로 설정되고, 그렇지 않으면 정보 멤버가 0으로 설정됩니다.
설명
디바이스용 드라이버는 IOCTL_ACPI_GET_DEVICE_INFORMATION 사용하여 디바이스에 대한 세분화된 식별 정보를 얻을 수 있습니다. 이 IOCTL은 일반적으로 디바이스의 여러 하드웨어 버전 또는 수정 버전을 지원하는 드라이버와 함께 사용되며, 디바이스의 HW ID 문자열을 구성하는 구성 요소 부분을 검사하여 정확한 디바이스를 식별해야 합니다. 예를 들어 드라이버는 프로그래밍 인터페이스 또는 디바이스 동작의 일부 측면이 다른 동일한 디바이스의 다른 수정 버전을 지원할 수 있습니다. 드라이버는 실행 중인 수정 버전을 정확히 식별할 수 있습니다.
요청의 출력 인수는 OutBuffer 포인터에서 제공하는 가변 길이 ACPI_DEVICE_INFORMATION_OUTPUT_BUFFER 구조체에 반환됩니다. ACPI_DEVICE_INFORMATION_OUTPUT_BUFFER 각각 하위 시스템 ID 문자열, 공급업체 ID 문자열 및 instance ID 문자열을 나타내는 출력 인수를 반환하는 가변 길이 배열 배열을 포함합니다.
IOCTL_ACPI_GET_DEVICE_INFORMATION IRQL <= DISPATCH_LEVEL만 사용할 수 있습니다.
요구 사항
요구 사항 | 값 |
---|---|
지원되는 최소 클라이언트 | Windows 8 이상 버전의 Windows. |
머리글 | acpiioct.h(Acpiioct.h 포함) |