EVT_WDF_DEVICE_D0_EXIT_PRE_INTERRUPTS_DISABLED função de retorno de chamada (wdfdevice.h)

[Aplica-se a KMDF e UMDF]

A função de retorno de chamada de evento EvtDeviceD0ExitPreInterruptsDisabled de um driver executa operações específicas do dispositivo que são necessárias antes que o driver desabilite as interrupções de hardware do dispositivo.

Sintaxe

EVT_WDF_DEVICE_D0_EXIT_PRE_INTERRUPTS_DISABLED EvtWdfDeviceD0ExitPreInterruptsDisabled;

NTSTATUS EvtWdfDeviceD0ExitPreInterruptsDisabled(
  [in] WDFDEVICE Device,
  [in] WDF_POWER_DEVICE_STATE TargetState
)
{...}

Parâmetros

[in] Device

Um identificador para um objeto de dispositivo de estrutura.

[in] TargetState

Um enumerador tipo WDF_POWER_DEVICE_STATE que identifica o estado de energia do dispositivo que o dispositivo está prestes a inserir.

Valor retornado

Se a função de retorno de chamada EvtDeviceD0ExitPreInterruptsDisabled não encontrar erros, ela deverá retornar STATUS_SUCCESS ou outro valor de status para o qual NT_SUCCESS(status) é igual a TRUE. Caso contrário, ele deverá retornar um valor de status para o qual NT_SUCCESS(status) é igual a FALSE.

Para obter mais informações sobre os valores retornados dessa função de retorno de chamada, consulte Reporting Device Failures.

Comentários

Para registrar uma função de retorno de chamada EvtDeviceD0ExitPreInterruptsDisabled , um driver deve chamar WdfDeviceInitSetPnpPowerEventCallbacks.

A função de retorno de chamada EvtDeviceD0ExitPreInterruptsDisabled é chamada em IRQL = PASSIVE_LEVEL, antes que a estrutura chame a função de retorno de chamada EvtInterruptDisable do driver. Um driver pode fornecer essa função se precisar executar operações específicas do dispositivo antes de desabilitar uma interrupção, se essas operações não devem ser executadas em IRQL = DIRQL na função de retorno de chamada EvtInterruptDisable .

Para obter mais informações sobre quando a estrutura chama essa função de retorno de chamada, consulte Cenários de PnP e Power Management.

Para obter mais informações sobre como lidar com interrupções, consulte Como lidar com interrupções de hardware.

Requisitos

   
Plataforma de Destino Universal
Versão mínima do KMDF 1,0
Versão mínima do UMDF 2,0
Cabeçalho wdfdevice.h (include Wdf.h)
IRQL PASSIVE_LEVEL (consulte a seção Comentários)

Confira também

EvtDeviceD0EntryPostInterruptsEnabled