병렬 디바이스 읽기 및 쓰기
클라이언트는 IRP_MJ_READ 및 IRP_MJ_WRITE 요청을 사용하여 병렬 디바이스를 읽고 씁니다. 커널 모드 드라이버는 시스템 제공 PPARALLEL_READ 및 PPARALLEL_WRITE 콜백 루틴을 사용할 수도 있습니다. 시스템에서 제공하는 읽기 및 쓰기 콜백에 대한 포인터를 가져오기 위해 커널 모드 드라이버는 PARCLASS_INFORMATION 구조를 반환하는 IOCTL_INTERNAL_PARCLASS_CONNECT 요청을 사용합니다. PARCLASS_INFORMATION 구조체의 ParallelRead 및 ParallelWrite 멤버는 콜백에 대한 포인터입니다.
클라이언트가 읽기 및 쓰기 I/O 요청을 사용하는 경우 병렬 포트 버스 드라이버는 병렬 디바이스의 작업 큐에서 요청을 큐에 대기합니다. 병렬 포트에 대한 시스템 제공 버스 드라이버가 클라이언트에 대한 포트를 자동으로 잠그고 잠금을 해제하기 때문에 병렬 디바이스의 클라이언트는 디바이스를 읽고 쓰기 전에 병렬 포트를 잠글 필요가 없습니다.