IOCTL_PAR_IS_PORT_FREE IOCTL(ntddpar.h)
IOCTL_PAR_IS_PORT_FREE 요청은 병렬 포트에 대한 시스템 제공 버스 드라이버가 요청을 처리할 때 병렬 디바이스의 부모 병렬 포트가 무료인지 여부를 결정합니다. 이 요청은 주로 사용자 모드 클라이언트에 대해 제공됩니다.
이 요청은 I/O 관리자가 디바이스 제어 요청에 대한 병렬 포트 버스 드라이버의 디스패치 루틴을 호출한 직후에 처리됩니다. 그러나 병렬 포트의 상태 병렬 포트 버스 드라이버가 요청을 완료하는 시간과 컨트롤이 사용자 모드 클라이언트로 반환되는 시간 사이에 변경 될 수 있습니다.
커널 모드 클라이언트는 시스템에서 제공하는 PPARALLEL_TRY_ALLOCATE_ROUTINE 콜백을 호출하여 병렬 포트가 무료인지 직접 확인할 수 있습니다.
자세한 내용은 병렬 디바이스에서 사용할 ParallelPort 잠금 및 잠금 해제를 참조하세요.
주 코드
입력 버퍼
없음
입력 버퍼 길이
없음
출력 버퍼
ASSOCIATedIrp.SystemBuffer 멤버는 클라이언트가 병렬 포트의 상태 출력하기 위해 할당하는 BOOLEAN 버퍼를 가리킵니다. 병렬 포트가 무료인 경우 병렬 포트에 대한 시스템 제공 함수 드라이버는 버퍼를 TRUE로 설정하고, 그렇지 않으면 버퍼를 FALSE로 설정합니다.
출력 버퍼 길이
BOOLEAN의 길이입니다.
상태 블록
정보 멤버는 부울의 크기(바이트)로 설정됩니다.
Status 멤버는 병렬 디바이스에 대한 디바이스 제어 요청에서 반환된 제네릭 상태 값 중 하나 또는 다음 값으로 설정됩니다.
STATUS_BUFFER_TOO_SMALL
Parameters.DeviceIoControl.OutputBufferLength 멤버가 BOOLEAN의 크기(바이트)보다 작습니다.
요구 사항
요구 사항 | 값 |
---|---|
헤더 | ntddpar.h(Ntddpar.h 포함) |
추가 정보
IOCTL_INTERNAL_PARALLEL_PORT_FREE