WUDF_INTERRUPT_WORKITEM função de retorno de chamada (wudfinterrupt.h)
[Aviso: UMDF 2 é a versão mais recente do UMDF e substitui UMDF 1. Todos os novos drivers UMDF devem ser gravados usando UMDF 2. Nenhum novo recurso está sendo adicionado ao UMDF 1 e há suporte limitado para UMDF 1 em versões mais recentes do Windows 10. Drivers universais do Windows devem usar UMDF 2. Para obter mais informações, consulte Introdução com UMDF.]
A função de retorno de chamada de evento OnInterruptWorkItem de um driver processa informações de interrupção que a função de retorno de chamada OnInterruptIsr do driver armazenou.
Sintaxe
WUDF_INTERRUPT_WORKITEM WudfInterruptWorkitem;
void WudfInterruptWorkitem(
[in] IWDFInterrupt *Interrupt,
[in] IWDFObject *AssociatedObject
)
{...}
Parâmetros
[in] Interrupt
Um ponteiro para a interface do objeto de interrupção associada ao item de trabalho.
[in] AssociatedObject
Um ponteiro para o objeto associado.
Retornar valor
Nenhum
Comentários
Para registrar uma função de retorno de chamada OnInterruptWorkItem , o driver deve colocar o endereço da função de retorno de chamada em uma estrutura WUDF_INTERRUPT_CONFIG antes de chamar IWDFDevice3::CreateInterrupt.
Depois de parar e reconhecer a interrupção, o driver deve retornar rapidamente de seu retorno de chamada OnInterruptIsr , adiando qualquer processamento adicional para um retorno de chamada OnInterruptWorkItem .
Para obter mais informações sobre como lidar com interrupções em drivers UMDF, consulte Acessando interrupções de hardware e manipulação.
Exemplos
O tipo de função é declarado em Wudfworkitem.h, da seguinte maneira.
typedef
_Function_class_(WUDF_INTERRUPT_WORKITEM)
VOID
WUDF_INTERRUPT_WORKITEM(
_In_
IWDFInterrupt* Interrupt,
_In_
IWDFObject* AssociatedObject
);
typedef WUDF_INTERRUPT_WORKITEM *PFN_WUDF_INTERRUPT_WORKITEM;
Para definir uma função de retorno de chamada OnInterruptWorkItem chamada MyInterruptWorkItem, primeiro você deve fornecer uma declaração de função que o SDV e outras ferramentas de verificação exigem, da seguinte maneira:
WUDF_INTERRUPT_WORKITEM MyInterruptWorkItem;
Em seguida, implemente a função de retorno de chamada da seguinte maneira:
VOID
MyInterruptWorkItem (
_In_
IWDFInterrupt* Interrupt,
_In_
IWDFObject* AssociatedObject
)
{…}
Requisitos
Requisito | Valor |
---|---|
Fim do suporte | Indisponível no UMDF 2.0 e posterior. |
Plataforma de Destino | Área de Trabalho |
Versão mínima do UMDF | 1.11 |
Cabeçalho | wudfinterrupt.h |