Freigeben über


UfxDeviceNotifyReset-Funktion (ufxclient.h)

Benachrichtigt UFX über ein USB-Buszurücksetzungsereignis.

Syntax

void UfxDeviceNotifyReset(
  [in] UFXDEVICE        UfxDevice,
  [in] USB_DEVICE_SPEED DeviceSpeed
);

Parameter

[in] UfxDevice

Ein Handle für ein UFX-Geräteobjekt, das vom Treiber erstellt wurde, indem UfxDeviceCreateaufgerufen wird.

[in] DeviceSpeed

Enthält einen Wert vom Typ USB_DEVICE_SPEED, der die Geschwindigkeit des Geräts angibt.

Rückgabewert

Nichts

Bemerkungen

Der Clienttreiber ruft UfxDeviceNotifyReset- auf, wenn es ein Buszurücksetzungsereignis empfängt. Alle nicht standardmäßigen Endpunkte sollten deaktiviert werden, und der Standardendpunkt sollte zurückgesetzt werden. Das Gerät wechselt in den Standardzustand.

Der Clienttreiber ruft in der Regel UfxDeviceNotifyReset- aus seiner EvtInterruptDpc- Rückruffunktion auf. Das folgende Beispiel zeigt, wie ein Reset-Ereignis behandelt wird.


VOID
HandleUsbConnect (
    WDFDEVICE WdfDevice
    )
/*++

Routine Description:

    Handles a connect event from the controller.

Arguments:

    WDfDevice - WDFDEVICE object representing the controller.

--*/
{
    PCONTROLLER_CONTEXT ControllerContext;
    USB_DEVICE_SPEED DeviceSpeed;

    TraceEntry();

    ControllerContext = DeviceGetControllerContext(WdfDevice);

    //
    // Read the device speed.
    //

    //
    // #### TODO: Add code to read device speed from the controller ####
    //
    
    // Sample will assume SuperSpeed operation for illustration purposes
    DeviceSpeed = UsbSuperSpeed;
    
    //
    // #### TODO: Add any code needed to configure the controller after connect has occurred ####
    //


    ControllerContext->Speed = DeviceSpeed;
    TraceInformation("Connected Speed is %d!", DeviceSpeed);

    //
    // Notify UFX about reset, which will take care of updating 
    // Max Packet Size for EP0 by calling descriptor update.
    //
    UfxDeviceNotifyReset(ControllerContext->UfxDevice, DeviceSpeed);

    ControllerContext->Connect = TRUE;

    TraceExit();
}

Anforderungen

Anforderung Wert
mindestens unterstützte Client- Windows 10
Zielplattform- Fenster
Header- ufxclient.h
Library ufxstub.lib
IRQL- DISPATCH_LEVEL