Compartir a través de


EVT_WDF_DEVICE_SELF_MANAGED_IO_SUSPEND función de devolución de llamada (wdfdevice.h)

[Se aplica a KMDF y UMDF]

La evtDeviceSelfManagedIoSuspend de un controlador función de devolución de llamada de eventos suspende las operaciones de E/S autoadministradas de un dispositivo.

Sintaxis

EVT_WDF_DEVICE_SELF_MANAGED_IO_SUSPEND EvtWdfDeviceSelfManagedIoSuspend;

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

Parámetros

[in] Device

Identificador de un objeto de dispositivo de marco.

Valor devuelto

Si la operación se realiza correctamente, la función de devolución de llamada EvtDeviceSelfManage dIoSuspend debe devolver STATUS_SUCCESS u otro valor de estado para el que NT_SUCCESS(estado) es igual a TRUE. De lo contrario, debe devolver un valor de estado para el que NT_SUCCESS(estado) es igual a FALSE. Si NT_SUCCESS(estado) es igual a FALSE, el marco detiene el dispositivo y quita sus objetos de dispositivo.

Si NT_SUCCESS(status) es igual a FALSE, el marco llama al EvtDeviceSelfManagedIoFlush y EvtDeviceSelfManagedIoCleanup funciones de devolución de llamada.

Para obtener más información sobre los valores devueltos de esta función de devolución de llamada, consulte Informes de errores de dispositivo.

Observaciones

Para registrar una función de devolución de llamada EvtDeviceSelfManagedIoSuspend, un controlador debe llamar a WdfDeviceInitSetPnpPowerEventCallbacks.

Si el controlador ha registrado una función de devolución de llamada EvtDeviceSelfManagedIoSuspend, el marco lo llama por uno de los siguientes motivos:

  • El dispositivo está a punto de entrar en un estado de baja potencia.
  • El dispositivo se está quitando o se ha quitado sorpresa.
  • El administrador de Plug and Play está a punto de redistribuir los recursos de hardware del sistema entre los dispositivos conectados del sistema.
Dado que no sabe cuál de estos eventos hace que el marco llame al controlador, debe suponer que el dispositivo podría volver a su estado de trabajo (D0).

Si el dispositivo está a punto de entrar en un estado de baja potencia, el marco llama al EvtDeviceSelfManagedIoSuspend función de devolución de llamada antes de llamar a la función de devolución de llamada del controlador EvtDeviceD0Exit función de devolución de llamada.

Si la función de devolución de llamada devuelve un valor de estado para el que NT_SUCCESS(estado) es igual a FALSEy, si el marco intenta reducir la potencia del dispositivo, el marco detiene el dispositivo y quita sus objetos de dispositivo.

La EvtDeviceSelfManagedIoSuspend función de devolución de llamada debe hacer lo que sea necesario para detener las operaciones de E/S autoadministradas del dispositivo.

Para obtener más información sobre cuándo el marco llama a esta función de devolución de llamada, consulte escenarios de PnP y Administración de energía.

Para obtener más información sobre los controladores que proporcionan esta función de devolución de llamada, consulte Using Self-Managed E/S.

Requisitos

Requisito Valor
de la plataforma de destino de Universal
versión mínima de KMDF 1.0
versión mínima de UMDF 2.0
encabezado de wdfdevice.h (incluya Wdf.h)
irQL PASSIVE_LEVEL

Consulte también

EvtDeviceSelfManagedIoCleanup

EvtDeviceSelfManagedIoFlush

EvtDeviceSelfManagedIoInit

EvtDeviceSelfManagedIoRestart