EVT_WDF_DEVICE_SELF_MANAGED_IO_SUSPEND fonction de rappel (wdfdevice.h)

[S’applique à KMDF et UMDF]

La fonction de rappel d’événement EvtDeviceSelfManagedIoSuspend d’un pilote interrompt les opérations d’E/S autogérées d’un appareil.

Syntaxe

EVT_WDF_DEVICE_SELF_MANAGED_IO_SUSPEND EvtWdfDeviceSelfManagedIoSuspend;

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

Paramètres

[in] Device

Handle d’un objet d’appareil framework.

Valeur retournée

Si l’opération réussit, la fonction de rappel EvtDeviceSelfManagedIoSuspend doit retourner STATUS_SUCCESS ou une autre valeur status pour laquelle NT_SUCCESS(status) est égal à TRUE. Sinon, il doit retourner une valeur status pour laquelle NT_SUCCESS(status) est false. Si NT_SUCCESS(status) est égal àFALSE, l’infrastructure arrête l’appareil et supprime ses objets d’appareil.

Si NT_SUCCESS(status) est égal à FALSE, l’infrastructure appelle les fonctions de rappel EvtDeviceSelfManagedIoFlush et EvtDeviceSelfManagedIoCleanup du pilote.

Pour plus d’informations sur les valeurs de retour de cette fonction de rappel, consultez Signalement des échecs d’appareil.

Remarques

Pour inscrire une fonction de rappel EvtDeviceSelfManagedIoSuspend , un pilote doit appeler WdfDeviceInitSetPnpPowerEventCallbacks.

Si le pilote a inscrit une fonction de rappel EvtDeviceSelfManagedIoSuspend , l’infrastructure l’appelle pour l’une des raisons suivantes :

  • L’appareil est sur le point d’entrer dans un état de faible consommation d’énergie.
  • L’appareil est en cours de suppression ou a été supprimé par surprise.
  • Le gestionnaire de Plug-and-Play est sur le point de redistribuer les ressources matérielles du système entre les appareils attachés au système.
Étant donné que vous ne savez pas lequel de ces événements provoque l’appel de votre pilote par l’infrastructure, vous devez supposer que l’appareil peut revenir à son état de fonctionnement (D0).

Si l’appareil est sur le point d’entrer dans un état de faible consommation, l’infrastructure appelle la fonction de rappel EvtDeviceSelfManagedIoSuspend du pilote avant d’appeler la fonction de rappel EvtDeviceD0Exit du pilote.

Si la fonction de rappel retourne une valeur status pour laquelle NT_SUCCESS(status) est false, et si l’infrastructure tente de réduire la puissance de l’appareil, l’infrastructure arrête l’appareil et supprime ses objets d’appareil.

La fonction de rappel EvtDeviceSelfManagedIoSuspend doit faire tout ce qui est nécessaire pour arrêter les opérations d’E/S autogérées de l’appareil.

Pour plus d’informations sur le moment où l’infrastructure appelle cette fonction de rappel, consultez Scénarios pnP et de gestion de l’alimentation.

Pour plus d’informations sur les pilotes qui fournissent cette fonction de rappel, consultez Utilisation de Self-Managed E/S.

Configuration requise

Condition requise Valeur
Plateforme cible Universal
Version KMDF minimale 1.0
Version UMDF minimale 2.0
En-tête wdfdevice.h (include Wdf.h)
IRQL PASSIVE_LEVEL

Voir aussi

EvtDeviceSelfManagedIoCleanup

EvtDeviceSelfManagedIoFlush

EvtDeviceSelfManagedIoInit

EvtDeviceSelfManagedIoRestart