프레임워크는 I/O 큐에 대해 다음 상태를 정의합니다.
유휴
I/O 큐에는 I/O 요청이 없으며 드라이버는 I/O 큐에서 받은 요청을 처리하지 않습니다.
준비
I/O 큐는 프레임워크에서 I/O 요청을 수신할 수 있으며 드라이버에 I/O 요청을 제공할 수 있습니다.
중지된
I/O 큐는 프레임워크에서 I/O 요청을 받을 수 있지만 드라이버에 I/O 요청을 전달할 수 없으며 드라이버는 I/O 큐에서 받은 요청을 처리하지 않습니다.
드레이닝된
I/O 큐가 비어 있고 프레임워크에서 새 I/O 요청을 받을 수 없으며 I/O 큐에 있던 모든 I/O 요청이 드라이버에 전달되었습니다.
제거된
I/O 큐가 비어 있고 프레임워크에서 새 I/O 요청을 받을 수 없으며 I/O 큐에 있던 모든 I/O 요청이 취소되었습니다.
프레임워크는 드라이버가 WdfIoQueueCreate호출한 후 새 I/O 큐를 준비 상태로 설정할 수 있습니다. 그러나 전원 관리형 I/O 큐 디바이스가 작동 중(D0) 상태인 경우에만 준비 상태를 입력할 있습니다.
드라이버는 다음을 통해 I/O 큐의 상태를 변경할 수 있습니다.
WdfIoQueueStop호출하거나 WdfIoQueueStopSynchronously 큐를 중지된 상태로.
WdfIoQueueDrain 또는 WdfIoQueueDrainSynchronously 를 호출하여 큐를 드레이닝된 상태로 놓기 위해.
WdfIoQueuePurge 호출하거나 WdfIoQueuePurgeSynchronously 큐를 제거된 상태로.
큐를 준비 상태로 되돌리기 위해 WdfIoQueueStart를 호출합니다.
I/O 큐의 현재 상태를 가져오기 위해 드라이버는 WdfIoQueueGetState호출할 수 있습니다.