Compartilhar via


Função WdfInterruptQueueWorkItemForIsr (wdfinterrupt.h)

[Aplica-se a KMDF e UMDF]

O método WdfInterruptQueueWorkItemForIsr enfileira a função de retorno de chamada EvtInterruptWorkItem de um objeto de interrupção de estrutura para execução.

Sintaxe

BOOLEAN WdfInterruptQueueWorkItemForIsr(
  [in] WDFINTERRUPT Interrupt
);

Parâmetros

[in] Interrupt

Um identificador para um objeto de interrupção de estrutura.

Retornar valor

Se o ISR do driver estiver em execução em IRQL = PASSIVE_LEVEL, WdfInterruptQueueWorkItemForIsr retornaráTRUE se ele enfileirar com êxito a função de retorno de chamada EvtInterruptWorkItem do objeto de interrupção. O método retornará FALSE se a função de retorno de chamada tiver sido enfileirada anteriormente e não tiver sido executada.

Se o ISR do driver estiver em execução em IRQL = DIRQL, a estrutura primeiro enfileira um DPC interno e, em seguida, enfileira um item de trabalho desse DPC. Nesse caso, WdfInterruptQueueWorkItemForIsr retornaráTRUE se a estrutura enfileirar com êxito o DPC interno. O método retornará FALSE se o DPC interno tiver sido enfileirado anteriormente.

Um bug marcar ocorrerá se o driver fornecer um identificador de objeto inválido.

Comentários

Os drivers normalmente chamam WdfInterruptQueueWorkItemForIsr de dentro de uma função de retorno de chamada EvtInterruptIsr .

A função de retorno de chamada EvtInterruptWorkItem de um objeto de interrupção pode ser enfileirada apenas uma vez antes de ser executada. Portanto, se uma chamada para WdfInterruptQueueWorkItemForIsr for bem-sucedida, as chamadas subsequentes não enfileirarão retornos de chamada adicionais.

Para obter mais informações sobre como lidar com interrupções em drivers baseados em estrutura, consulte Tratamento de interrupções de hardware.

Um bug marcar ocorrerá se os drivers chamarem WdfInterruptQueueWorkItemForIsr com um objeto de interrupção que não especifica uma função de retorno de chamada EvtInterruptWorkItem.

Requisitos

Requisito Valor
Plataforma de Destino Universal
Versão mínima do KMDF 1.11
Versão mínima do UMDF 2,0
Cabeçalho wdfinterrupt.h (inclua Wdf.h)
Biblioteca Wdf01000.sys (KMDF); WUDFx02000.dll (UMDF)
IRQL <=DIRQL
Regras de conformidade da DDI DriverCreate(kmdf)

Confira também

EvtInterruptDpc

EvtInterruptIsr

WdfInterruptCreate

WdfInterruptQueueDpcForIsr