Partager via


EVT_UDECX_USB_DEVICE_D0_EXIT fonction de rappel (udecxusbdevice.h)

L’extension de classe d’émulation de périphérique USB (UdeCx) appelle cette fonction de rappel lorsqu’elle reçoit une demande d’envoi du périphérique USB virtuel à un état d’alimentation faible.

Syntaxe

EVT_UDECX_USB_DEVICE_D0_EXIT EvtUdecxUsbDeviceD0Exit;

NTSTATUS EvtUdecxUsbDeviceD0Exit(
  [in] WDFDEVICE UdecxWdfDevice,
  [in] UDECXUSBDEVICE UdecxUsbDevice,
  [in] UDECX_USB_DEVICE_WAKE_SETTING WakeSetting
)
{...}

Paramètres

[in] UdecxWdfDevice

Handle à un objet d’appareil framework qui représente le contrôleur auquel le périphérique USB est attaché. Le pilote client a initialisé cet objet dans un appel précédent à UdecxWdfDeviceAddUsbDeviceEmulation.

[in] UdecxUsbDevice

Handle vers l’objet d’appareil UDE. Le pilote client a créé cet objet dans un appel précédent à UdecxUsbDeviceCreate.

[in] WakeSetting

Valeur de type UDECX_USB_DEVICE_WAKE_SETTING qui indique la capacité de sortie de veille à distance du périphérique USB.

Valeur retournée

Si l’opération réussit, la fonction de rappel doit retourner STATUS_SUCCESS, ou une autre valeur status pour laquelle NT_SUCCESS(status) est égal à TRUE.

Remarques

Le pilote client a inscrit la fonction dans un appel précédent à UdecxUsbDeviceInitSetStateChangeCallbacks en fournissant un pointeur de fonction vers son implémentation.

Dans l’implémentation du rappel, le pilote client pour le périphérique USB est censé effectuer des étapes pour envoyer le périphérique à un état d’alimentation faible. Dans cette fonction, le pilote peut lancer sa mise en éveil à partir d’un état d’alimentation faible de liaison, d’une interruption de fonction ou des deux. Pour ce faire, le pilote d’un périphérique USB 2.0 doit appeler la méthode UdecxUsbDeviceSignalWake . Les appareils USB 3.0 doivent utiliser UdecxUsbDeviceSignalFunctionWake.

La demande d’alimentation peut être effectuée de manière asynchrone en retournant STATUS_PENDING, puis en appelant ultérieurement UdecxUsbDeviceLinkPowerExitComplete avec le code d’achèvement réel.

Configuration requise

Condition requise Valeur
Client minimal pris en charge Windows 10
Serveur minimal pris en charge Windows Server 2016
Plateforme cible Windows
Version KMDF minimale 1.15
En-tête udecxusbdevice.h (include Udecx.h)
IRQL <=DISPATCH_LEVEL

Voir aussi

Architecture : Émulation de périphérique USB (UDE)

EVT_UDECX_USB_DEVICE_D0_ENTRY

UdecxUsbDeviceLinkPowerExitComplete

UdecxUsbDeviceSignalWake

Écrire un pilote client UDE