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

Confira também

IWDFDevice3::CreateInterrupt

IWDFDeviceInitialize::SetLockingConstraint

WUDF_INTERRUPT_CONFIG_INIT