Função WdfIoQueueStop (wdfio.h)
[Aplica-se a KMDF e UMDF]
O método WdfIoQueueStop impede que uma fila de E/S entregue solicitações de E/S, mas a fila recebe e armazena novas solicitações.
Sintaxe
void WdfIoQueueStop(
[in] WDFQUEUE Queue,
[in, optional] PFN_WDF_IO_QUEUE_STATE StopComplete,
[in, optional] WDFCONTEXT Context
);
Parâmetros
[in] Queue
Um identificador para um objeto de fila de estrutura.
[in, optional] StopComplete
Um ponteiro para uma função de retorno de chamada EvtIoQueueState fornecida pelo driver. Esse parâmetro é opcional e pode ser NULL.
[in, optional] Context
Um ponteiro não tipado para informações de contexto fornecidas pelo driver que a estrutura passa para a função de retorno de chamada EvtIoQueueState . Esse parâmetro é opcional e pode ser NULL.
Retornar valor
Nenhum
Comentários
Um bug marcar ocorrerá se o driver fornecer um identificador de objeto inválido.
Se o driver fornecer uma função de retorno de chamada EvtIoQueueState , a estrutura a chamará depois que todas as solicitações que foram entregues ao driver tiverem sido concluídas ou canceladas. Você pode modificar o IRQL no qual o retorno de chamada é executado especificando ExecutionLevel em WDF_OBJECT_ATTRIBUTES no momento da criação da fila. Para obter mais informações, consulte a seção Comentários doEVT_WDF_IO_QUEUE_STATE.
O método WdfIoQueueStop permite que a fila receba novas solicitações, mesmo que a fila não estivesse recebendo novas solicitações antes do driver chamado WdfIoQueueStop. Por exemplo, antes de chamar WdfIoQueueStop, um driver pode chamar WdfIoQueueDrain, o que faz com que a estrutura pare de adicionar novas solicitações de E/S à fila. A chamada subsequente do driver de WdfIoQueueStop faz com que a estrutura retome a adição de solicitações à fila.
Um driver não deve chamar WdfIoQueueDrain depois de chamar WdfIoQueueStop até que ele tenha reiniciado a fila chamando WdfIoQueueStart.
Para obter mais informações sobre o método WdfIoQueueStop , consulte Gerenciando filas de E/S.
Exemplos
O exemplo de código a seguir interrompe uma fila de E/S especificada. Quando todas as solicitações entregues ao driver tiverem sido concluídas ou canceladas, ela chamará a função EvtIoQueueStateStop de um driver.
WDFCONTEXT stopContext;
stopContext = &myContext;
WdfIoQueueStop(
queue,
EvtIoQueueStateStop,
stopContext
);
Requisitos
Requisito | Valor |
---|---|
Plataforma de Destino | Universal |
Versão mínima do KMDF | 1.0 |
Versão mínima do UMDF | 2,0 |
Cabeçalho | wdfio.h (inclua Wdf.h) |
Biblioteca | Wdf01000.sys (KMDF); WUDFx02000.dll (UMDF) |
IRQL | <= DISPATCH_LEVEL |
Regras de conformidade da DDI | ChangeQueueState(kmdf), DriverCreate(kmdf), EvtSurpriseRemoveNoSuspendQueue(kmdf), KmdfIrql(kmdf), KmdfIrql2(kmdf), KmdfIrqlExplicit(kmdf), NoCancelFromEvtSurpriseRemove(kmdf) |