IOCTL_INTERNAL_SELECT_DEVICE IOCTL(parallel.h)
IOCTL_INTERNAL_SELECT_DEVICE 요청:
-
병렬 포트 할당
클라이언트가 입력 PARALLEL_1284_COMMAND 구조의 CommandFlags 멤버에서 PAR_HAVE_PORT_KEEP_PORT 플래그를 설정하지 않은 경우 병렬 포트에 대한 시스템 제공 함수 드라이버가 병렬 포트를 할당합니다. 그렇지 않으면 병렬 포트 함수 드라이버가 병렬 포트를 할당하지 않습니다.
-
IEEE 1284.3 데이지 체인 병렬 디바이스 또는 병렬 포트에 연결된 체인 끝 디바이스를 선택합니다.
클라이언트는 선택한 디바이스 요청을 사용하여 체인 종료 디바이스를 선택할 수 있지만 대신 IOCTL_INTERNAL_PARALLEL_PORT_ALLOCATE 요청을 사용하는 것이 좋습니다. 병렬 포트 함수 드라이버는 클라이언트에 병렬 포트를 할당하기 전에 체인 끝 디바이스를 선택합니다.
자세한 내용은 ParallelPort연결된 IEEE 1284 디바이스 선택 및 선택 취소를 참조하세요.
주 코드
IRP_MJ_INTERNAL_DEVICE_CONTROL
입력 버퍼
associatedIrp.SystemBuffer 클라이언트가 선택한 디바이스 정보를 입력하기 위해 할당하는 PARALLEL_1284_COMMAND 구조를 가리킵니다.
입력 버퍼 길이
Parameters.DeviceIoControl.InputBufferLength 멤버는 PARALLEL_1284_COMMAND 구조체의 크기를 바이트 단위로 지정합니다.
출력 버퍼
없음.
출력 버퍼 길이
없음.
상태 블록
Information 멤버는 0으로 설정됩니다.
상태 멤버는 병렬 포트에 대한 내부 디바이스 제어 요청에서 반환된 제네릭 상태 값 중 하나 또는 다음 값 중 하나로 설정됩니다.
STATUS_BUFFER_TOO_SMALL
Parameters.DeviceIoControl.InputBufferLength 멤버의 값이 PARALLEL_1284_COMMAND 구조체의 크기(바이트)보다 작습니다.
STATUS_INVALID_PARAMETER
지정된 디바이스는 내부적으로 체인 끝 디바이스로 플래그가 지정되지 않으며 입력 구조의 ID 멤버 값이 기존 데이지 체인 디바이스 수보다 큽니다.
요구 사항
요구 | 값 |
---|---|
헤더 | parallel.h(Parallel.h 포함) |