estrutura WUDF_INTERRUPT_CONFIG (wudfinterrupt.h)
[Aviso: UMDF 2 é a versão mais recente do UMDF e substitui o UMDF 1. Todos os novos drivers UMDF devem ser gravados usando UMDF 2. Nenhum recurso novo 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 aoda 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 WDF_TRI_STATEdigitado. 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 VERDADEIRO, indica que a estrutura sincronizará a execução da função de retorno de chamada OnInterruptWorkItem do objeto de interrupção com outras funções de retorno de chamada que usam a funcionalidade de sincronização de retorno de chamada da estrutura. Consulte 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 de CM_PARTIAL_RESOURCE_DESCRIPTOR que descreve os recursos brutos que o sistema atribuiu à interrupção. Esse membro só será usado se a interrupção for criada no OnPrepareHardware retorno de chamada.
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 OnPrepareHardware retorno de chamada.
Observações
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 inicializar.
Antes de definir de 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 e interrupções sinalizadas por mensagem (MSI) em todos os sistemas operacionais compatíveis com a estrutura. Como esses tipos de recursos de interrupção não são compartilhados, um driver que os usa deve definir o ShareVector membro dessa estrutura como WdfFalse ou WdfUseDefault. Se o driver especificar um valor de do ShareVector inválido, o driver não será iniciado.
Requisitos
Requisito | Valor |
---|---|
versão mínima do UMDF | 1.11 |
cabeçalho | wudfinterrupt.h |