Compartilhar via


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

Consulte também

IWDFDevice3::CreateInterrupt

IWDFDeviceInitialize::SetLockingConstraint

WUDF_INTERRUPT_CONFIG_INIT