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 obtient une demande d’envoi du périphérique USB virtuel à un état de faible alimentation.
EVT_UDECX_USB_DEVICE_D0_EXIT EvtUdecxUsbDeviceD0Exit;
NTSTATUS EvtUdecxUsbDeviceD0Exit(
[in] WDFDEVICE UdecxWdfDevice,
[in] UDECXUSBDEVICE UdecxUsbDevice,
[in] UDECX_USB_DEVICE_WAKE_SETTING WakeSetting
)
{...}
[in] UdecxWdfDevice
Handle vers un objet d’appareil framework qui représente le contrôleur auquel l’appareil 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 UDECX_USB_DEVICE_WAKE_SETTING-type qui indique la fonctionnalité de sortie de veille distante du périphérique USB.
Si l’opération réussit, la fonction de rappel doit retourner STATUS_SUCCESS, ou une autre valeur d’état pour laquelle NT_SUCCESS(status) a la valeur TRUE.
Le pilote client a inscrit la fonction dans un appel précédent à UdecxUsbDeviceInitSetStateChangeCallbacks en fournissant un pointeur de fonction à son implémentation.
Dans l’implémentation de rappel, le pilote client du périphérique USB est censé effectuer des étapes pour envoyer l’appareil à un état d’alimentation faible. Dans cette fonction, le pilote peut lancer son réveil à partir d’un état d’alimentation de liaison faible, d’une suspension 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.
Exigence | Valeur |
---|---|
client minimum pris en charge | Windows 10 |
serveur minimum pris en charge | Windows Server 2016 |
plateforme cible | Windows |
version minimale de KMDF | 1.15 |
d’en-tête | udecxusbdevice.h (include Udecx.h) |
IRQL | <=DISPATCH_LEVEL |
architecture : émulation de périphérique USB (UDE)