Partager via


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 auto-gérées d’un appareil.

Syntaxe

EVT_WDF_DEVICE_SELF_MANAGED_IO_SUSPEND EvtWdfDeviceSelfManagedIoSuspend;

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

Paramètres

[in] Device

Handle vers un objet d’appareil framework.

Valeur de retour

Si l’opération réussit, la fonction de rappel EvtDeviceSelfManagedIoSuspend doit retourner STATUS_SUCCESS, ou une autre valeur d’état pour laquelle NT_SUCCESS(status) est égal à TRUE. Sinon, il doit retourner une valeur d’état pour laquelle NT_SUCCESS(status) est égal à 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 à FAUX, 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 Reporting Device Failures.

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 à faible alimentation.
  • L’appareil est en cours de suppression ou a été supprimé de surprise.
  • Le gestionnaire Plug-and-Play est sur le point de redistribuer les ressources matérielles du système entre les appareils connectés du système.
Étant donné que vous ne savez pas laquelle de ces événements provoque l’appel de l’infrastructure à votre pilote, vous devez supposer que l’appareil peut revenir à son état de travail (D0).

Si l’appareil est sur le point d’entrer dans un état de faible puissance, le framework appelle la fonction de rappel EvtDeviceSelfManagedIoSuspend avant d’appeler la fonction de rappel evtDeviceD0Exit evtDeviceD0Exit.

Si la fonction de rappel retourne une valeur d’état pour laquelle NT_SUCCESS(état) est égal à FAUX, 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 effectuer 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 Power Management.

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

Exigences

Exigence Valeur
plateforme cible Universel
version minimale de KMDF 1.0
version minimale de UMDF 2.0
d’en-tête wdfdevice.h (include Wdf.h)
IRQL PASSIVE_LEVEL

Voir aussi

EvtDeviceSelfManagedIoCleanup

EvtDeviceSelfManagedIoFlush

EvtDeviceSelfManagedIoInit

EvtDeviceSelfManagedIoRestart