estrutura WUDF_INTERRUPT_CONFIG (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. Os drivers universais do Windows devem usar o UMDF 2. Para obter mais informações, consulte Introdução com UMDF.]
A estrutura WUDF_INTERRUPT_CONFIG contém informações de configuração para uma interrupção de dispositivo.
Sintaxe
typedef struct _WUDF_INTERRUPT_CONFIG {
ULONG Size;
WDF_TRI_STATE ShareVector;
BOOLEAN AutomaticSerialization;
PFN_WUDF_INTERRUPT_ISR OnInterruptIsr;
PFN_WUDF_INTERRUPT_ENABLE OnInterruptEnable;
PFN_WUDF_INTERRUPT_DISABLE OnInterruptDisable;
PFN_WUDF_INTERRUPT_WORKITEM OnInterruptWorkItem;
PCM_PARTIAL_RESOURCE_DESCRIPTOR InterruptRaw;
PCM_PARTIAL_RESOURCE_DESCRIPTOR InterruptTranslated;
} WUDF_INTERRUPT_CONFIG, *PWUDF_INTERRUPT_CONFIG;
Membros
Size
O tamanho, em bytes, dessa estrutura.
ShareVector
Um valor do tipo WDF_TRI_STATE. Se esse valor for WdfTrue, o vetor de interrupção poderá ser compartilhado. Se o valor for WdfFalse, o vetor de interrupção não poderá ser compartilhado. Se o valor for WdfDefault e a interrupção for disparada em nível, o gerenciador de Plug and Play usará o valor do driver de barramento. Se o valor for WdfDefault e a interrupção não for disparada em nível, o vetor de interrupção não poderá ser compartilhado.
AutomaticSerialization
Um valor booliano que, se TRUE, indica que a estrutura sincronizará a execução da função de retorno de chamada OnInterruptWorkItem do objeto interruptão com outras funções de retorno de chamada que usam a funcionalidade de sincronização de retorno de chamada da estrutura. Confira Comentários para obter mais informações.
OnInterruptIsr
Um ponteiro para a função de retorno de chamada OnInterruptIsr do driver ou NULL.
OnInterruptEnable
Um ponteiro para a função de retorno de chamada OnInterruptEnable do driver ou NULL.
OnInterruptDisable
Um ponteiro para a função de retorno de chamada OnInterruptDisable do driver ou NULL.
OnInterruptWorkItem
Um ponteiro para a função de retorno de chamada OnInterruptWorkItem do driver ou NULL.
InterruptRaw
Um ponteiro para a estrutura CM_PARTIAL_RESOURCE_DESCRIPTOR que descreve os recursos brutos atribuídos pelo sistema à interrupção. Esse membro só será usado se a interrupção for criada no retorno de chamada OnPrepareHardware .
InterruptTranslated
Um ponteiro para a estrutura CM_PARTIAL_RESOURCE_DESCRIPTOR que descreve os recursos traduzidos que o sistema atribuiu à interrupção. Esse membro só será usado se a interrupção for criada no retorno de chamada OnPrepareHardware .
Comentários
A estrutura WUDF_INTERRUPT_CONFIG é usada como entrada para IWDFDevice3::CreateInterrupt.
Para inicializar uma estrutura de WUDF_INTERRUPT_CONFIG , o driver deve primeiro chamar WUDF_INTERRUPT_CONFIG_INIT e, em seguida, preencher os membros da estrutura que WUDF_INTERRUPT_CONFIG_INIT não inicializa.
Antes de definir AutomaticSerialization como TRUE, o driver deve chamar IWDFDeviceInitialize::SetLockingConstraint com o parâmetro LockType definido como WdfDeviceLevel.
Seu driver deve incluir Wudfwdm.h, que contém a definição de CM_PARTIAL_RESOURCE_DESCRIPTOR.
O UMDF dá suporte a interrupções baseadas em linha disparadas por borda e MSI (interrupções sinalizadas por mensagem) em todos os sistemas operacionais compatíveis com estrutura. Como esses tipos de recursos de interrupção não são compartilhados, um driver que os usa deve definir o membro do ShareVector dessa estrutura como WdfFalse ou WdfUseDefault. Se o driver especificar um valor ShareVector inválido, o driver não será iniciado.
Requisitos
Requisito | Valor |
---|---|
Versão mínima do UMDF | 1.11 |
Cabeçalho | wudfinterrupt.h |