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 구조체의 크기(바이트)를 지정합니다.
출력 버퍼
없음
출력 버퍼 길이
없음
상태 블록
정보 멤버가 0으로 설정됩니다.
Status 멤버는 병렬 포트에 대한 내부 디바이스 제어 요청에서 반환된 제네릭 상태 값 중 하나 또는 다음 값 중 하나로 설정됩니다.
STATUS_BUFFER_TOO_SMALL
Parameters.DeviceIoControl.InputBufferLength 멤버의 값은 PARALLEL_1284_COMMAND 구조체의 크기(바이트)보다 작습니다.
STATUS_INVALID_PARAMETER
지정된 디바이스는 내부적으로 체인 끝 디바이스로 플래그가 지정되지 않으며 입력 구조의 ID 멤버 값이 기존 데이지 체인 디바이스 수보다 큽니다.
요구 사항
요구 사항 | 값 |
---|---|
헤더 | parallel.h(Parallel.h 포함) |