Estados da fila de E/S
A estrutura define os seguintes estados para filas de E/S:
Ocioso
A fila de E/S não contém solicitações de E/S e o driver não está processando nenhuma solicitação recebida da fila de E/S.
Pronto
A fila de E/S pode receber solicitações de E/S da estrutura e pode fornecer solicitações de E/S ao driver.
Parou
A fila de E/S pode receber solicitações de E/S da estrutura, mas não pode entregar solicitações de E/S ao driver e o driver não está processando nenhuma solicitação recebida da fila de E/S.
Drenado
A fila de E/S está vazia, não pode receber novas solicitações de E/S da estrutura e todas as solicitações de E/S que estavam na fila de E/S foram entregues ao driver.
Purgado
A fila de E/S está vazia, não pode receber novas solicitações de E/S da estrutura e todas as solicitações de E/S que estavam na fila de E/S foram canceladas.
A estrutura pode definir uma nova fila de E/S para o estado pronto depois que o driver chama WdfIoQueueCreate. No entanto, as filas de E/S gerenciadas por energia entram no estado pronto somente se o dispositivo estiver em seu estado de trabalho (D0).
O driver pode alterar o estado de uma fila de E/S:
Chamar WdfIoQueueStop ou WdfIoQueueStopSynchronously para colocar a fila em seu estado parado.
Chamar WdfIoQueueDrain ou WdfIoQueueDrainSynchronously para colocar a fila em seu estado drenado.
Chamar WdfIoQueuePurge ou WdfIoQueuePurgeSynchronously para colocar a fila em seu estado limpo.
Chamar WdfIoQueueStart para retornar a fila ao estado pronto.
Para obter o estado atual de uma fila de E/S, seu driver pode chamar WdfIoQueueGetState.