Compartilhar via


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

[Aplica-se a KMDF e UMDF]

A função de retorno de chamada de evento EvtDeviceSelfManagedIoSuspend de um driver suspende as operações de E/S autogerenciadas de um dispositivo.

Sintaxe

EVT_WDF_DEVICE_SELF_MANAGED_IO_SUSPEND EvtWdfDeviceSelfManagedIoSuspend;

NTSTATUS EvtWdfDeviceSelfManagedIoSuspend(
  [in] WDFDEVICE Device
)
{...}

Parâmetros

[in] Device

Um identificador para um objeto de dispositivo de estrutura.

Retornar valor

Se a operação for bem-sucedida, a função de retorno de chamada EvtDeviceSelfManagedIoSuspend deverá retornar STATUS_SUCCESS ou outro valor status para o qual NT_SUCCESS(status) é igual a TRUE. Caso contrário, ele deverá retornar um valor status para o qual NT_SUCCESS(status) é igual a FALSE. Se NT_SUCCESS(status) for igual a FALSE, a estrutura interromperá o dispositivo e removerá seus objetos de dispositivo.

Se NT_SUCCESS(status) for igual a FALSE, a estrutura chamará as funções de retorno de chamada EvtDeviceSelfManagedIoFlush e EvtDeviceSelfManagedIoCleanup do driver.

Para obter mais informações sobre os valores retornados dessa função de retorno de chamada, consulte Relatando falhas de dispositivo.

Comentários

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

Se o driver tiver registrado uma função de retorno de chamada EvtDeviceSelfManagedIoSuspend , a estrutura a chamará por um dos seguintes motivos:

  • O dispositivo está prestes a entrar em um estado de baixa potência.
  • O dispositivo está sendo removido ou foi removido de surpresa.
  • O gerenciador de Plug and Play está prestes a redistribuir os recursos de hardware do sistema entre os dispositivos anexados do sistema.
Como você não sabe qual desses eventos faz com que a estrutura chame seu driver, você deve assumir que o dispositivo pode retornar ao estado de trabalho (D0).

Se o dispositivo estiver prestes a inserir um estado de baixa potência, a estrutura chamará a função de retorno de chamada EvtDeviceSelfManagedIoSuspend do driver antes de chamar a função de retorno de chamada EvtDeviceD0Exit do driver.

Se a função de retorno de chamada retornar um valor status para o qual NT_SUCCESS(status) é igual a FALSE e, se a estrutura estiver tentando reduzir a potência do dispositivo, a estrutura interromperá o dispositivo e removerá seus objetos de dispositivo.

A função de retorno de chamada EvtDeviceSelfManagedIoSuspend deve fazer o que for necessário para interromper as operações de E/S autogerenciadas do dispositivo.

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

Para obter mais informações sobre drivers que fornecem essa função de retorno de chamada, consulte Usando Self-Managed E/S.

Requisitos

Requisito Valor
Plataforma de Destino Universal
Versão mínima do KMDF 1.0
Versão mínima do UMDF 2,0
Cabeçalho wdfdevice.h (inclua Wdf.h)
IRQL PASSIVE_LEVEL

Confira também

EvtDeviceSelfManagedIoCleanup

EvtDeviceSelfManagedIoFlush

EvtDeviceSelfManagedIoInit

EvtDeviceSelfManagedIoRestart