Condividi tramite


EVT_UDECX_USB_DEVICE_SET_FUNCTION_SUSPEND_AND_WAKE funzione di callback (udecxusbdevice.h)

L'estensione della classe di emulazione del dispositivo USB (UdeCx) richiama questa funzione di callback quando ottiene una richiesta per modificare lo stato della funzione dell'interfaccia specificata del dispositivo USB 3.0 virtuale.

Sintassi

EVT_UDECX_USB_DEVICE_SET_FUNCTION_SUSPEND_AND_WAKE EvtUdecxUsbDeviceSetFunctionSuspendAndWake;

NTSTATUS EvtUdecxUsbDeviceSetFunctionSuspendAndWake(
  [in] WDFDEVICE UdecxWdfDevice,
  [in] UDECXUSBDEVICE UdecxUsbDevice,
  [in] ULONG Interface,
  [in] UDECX_USB_DEVICE_FUNCTION_POWER FunctionPower
)
{...}

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] Interface

Questo valore è il valore bInterfaceNumber dell'interfaccia che si sta svegliando.

[in] FunctionPower

Valore di tipo UDECX_USB_DEVICE_FUNCTION_POWER che indica se l'interfaccia può sospendere e inviare il segnale di riattivazione al controller host.

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 entrare nello stato di lavoro.

Questa funzione di callback degli eventi si applica ai dispositivi USB 3.0+. UdeCx richiama questa funzione per notificare al driver client di una richiesta di modificare lo stato di alimentazione di una determinata funzione. Informa inoltre il driver se la funzione può riattivarsi dal nuovo stato.

La richiesta di alimentazione può essere completata in modo asincrono restituendo STATUS_PENDING e successivamente completandola chiamando UdecxUsbDeviceSetFunctionSuspendAndWakeComplete 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)

Scrivere un driver client UDE