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 큐에 있던 모든 I/O 요청이 취소되었습니다.
프레임워크는 드라이버가 WdfIoQueueCreate를 호출한 후 새 I/O 큐를 준비 상태로 설정할 수 있습니다. 그러나 전원 관리형 I/O 큐는 디바이스가 작동(D0) 상태인 경우에만 준비 상태로 들어갑니다.
드라이버는 다음을 통해 I/O 큐의 상태를 변경할 수 있습니다.
WdfIoQueueStop 또는 WdfIoQueueStopSynchronously를 호출하여 큐를 중지된 상태로 배치합니다.
WdfIoQueueDrain 또는 WdfIoQueueDrainSynchronously를 호출하여 큐를 드레이닝된 상태로 배치합니다.
WdfIoQueuePurge 또는 WdfIoQueuePurgeSynchronously를 호출하여 큐를 제거된 상태로 배치합니다.
WdfIoQueueStart를 호출하여 큐를 준비 상태로 반환합니다.
I/O 큐의 현재 상태를 얻으려면 드라이버가 WdfIoQueueGetState를 호출할 수 있습니다.