WUDF_INTERRUPT_ENABLE função de retorno de chamada (wudfinterrupt.h)

Aviso

O 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 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 OnInterruptEnable de um driver permite uma interrupção de hardware especificada.

Sintaxe

WUDF_INTERRUPT_ENABLE WudfInterruptEnable;

HRESULT WudfInterruptEnable(
  [in] IWDFInterrupt *Interrupt,
  [in] IWDFDevice *AssociatedDevice
)
{...}

Parâmetros

[in] Interrupt

Um ponteiro para a interface IWDFInterrupt .

[in] AssociatedDevice

Um ponteiro para a interface IWDFDevice que o driver usou para chamar CreateInterrupt.

Retornar valor

A função de retorno de chamada deverá retornar S_OK se a operação for bem-sucedida. Caso contrário, o retorno de chamada deverá retornar um dos códigos de erro definidos em Winerror.h.

Comentários

Para registrar uma função de retorno de chamada OnInterruptEnable , o driver deve colocar o endereço da função de retorno de chamada em uma estrutura WUDF_INTERRUPT_CONFIG antes de chamar IWDFDevice::CreateInterrupt.

A estrutura chama a função de retorno de chamada OnInterruptEnable do driver sempre que o dispositivo entra em seu estado de trabalho (D0). Além disso, um driver pode fazer com que a estrutura chame a função de retorno de chamada OnInterruptEnable chamando IWDFInterrupt::Enable.

Antes de chamar a função de retorno de chamada OnInterruptEnable , a estrutura adquire o bloqueio de interrupção no modo de usuário.

Depois de chamar a função de retorno de chamada OnInterruptEnable , a estrutura chama a função de retorno de chamada de evento OnD0EntryPostInterruptsEnabled do driver.

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 Wudfinterrupt.h, da seguinte maneira.

typedef
__drv_functionClass(WUDF_INTERRUPT_ENABLE)
HRESULT
WUDF_INTERRUPT_ENABLE(
    _In_
    IWDFInterrupt* Interrupt,
    _In_
    IWDFDevice* AssociatedDevice
    );

typedef WUDF_INTERRUPT_ENABLE *PFN_WUDF_INTERRUPT_ENABLE;

Para definir uma função de retorno de chamada OnInterruptEnable chamada MyInterruptEnable, 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_ENABLE  MyInterruptEnable;

Em seguida, implemente a função de retorno de chamada da seguinte maneira:

HRESULT
  MyInterruptEnable (
    IN IWDFInterrupt* pInterrupt,
    IN IWDFDevice*  pAssociatedDevice
    )
  {…}

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

Confira também