EVT_UDECX_USB_DEVICE_D0_EXIT funzione di callback (udecxusbdevice.h)
L'estensione della classe di emulazione del dispositivo USB (UdeCx) richiama questa funzione di callback quando riceve una richiesta per inviare il dispositivo USB virtuale a uno stato di alimentazione insufficiente.
Sintassi
EVT_UDECX_USB_DEVICE_D0_EXIT EvtUdecxUsbDeviceD0Exit;
NTSTATUS EvtUdecxUsbDeviceD0Exit(
[in] WDFDEVICE UdecxWdfDevice,
[in] UDECXUSBDEVICE UdecxUsbDevice,
[in] UDECX_USB_DEVICE_WAKE_SETTING WakeSetting
)
{...}
Parametri
[in] UdecxWdfDevice
Handle per un oggetto dispositivo framework che rappresenta il controller a cui è collegato il dispositivo USB. Il driver client ha inizializzato questo oggetto in una chiamata precedente a UdecxWdfDeviceAddUsbDeviceEmulation.
[in] UdecxUsbDevice
Handle per l'oggetto dispositivo UDE. Il driver client ha creato questo oggetto in una chiamata precedente a UdecxUsbDeviceCreate.
[in] WakeSetting
Valore di tipo UDECX_USB_DEVICE_WAKE_SETTING che indica la funzionalità di riattivazione remota del dispositivo USB.
Valore restituito
Se l'operazione ha esito positivo, la funzione di callback deve restituire STATUS_SUCCESS o un altro valore di stato per cui NT_SUCCESS(status) è TRUE.
Commenti
Il driver client ha registrato la funzione in una chiamata precedente a UdecxUsbDeviceInitSetStateChangeCallbacks fornendo un puntatore a funzione alla relativa implementazione.
Nell'implementazione del callback, è previsto che il driver client per il dispositivo USB esegua i passaggi per inviare il dispositivo a uno stato a basso consumo. In questa funzione, il driver può avviare la riattivazione da uno stato di alimentazione a basso collegamento, una sospensione della funzione o entrambi. A tale scopo, il driver per un dispositivo USB 2.0 deve chiamare il metodo UdecxUsbDeviceSignalWake . I dispositivi USB 3.0 devono usare UdecxUsbDeviceSignalFunctionWake.
La richiesta di alimentazione può essere completata in modo asincrono restituendo STATUS_PENDING e quindi chiamando UdecxUsbDeviceLinkPowerExitComplete con il codice di completamento effettivo.
Requisiti
Requisito | Valore |
---|---|
Client minimo supportato | Windows 10 |
Server minimo supportato | Windows Server 2016 |
Piattaforma di destinazione | Windows |
Versione KMDF minima | 1.15 |
Intestazione | udecxusbdevice.h (include Udecx.h) |
IRQL | <=DISPATCH_LEVEL |
Vedi anche
Architettura: Emulazione dispositivo USB (UDE)