다음을 통해 공유


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 포함)

추가 정보

PARALLEL_1284_COMMAND

IOCTL_INTERNAL_DESELECT_DEVICE