共用方式為


UfxDeviceNotifyReset 函式 (ufxclient.h)

通知 UFX 關於 USB 總線重設事件。

語法

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

參數

[in] UfxDevice

呼叫 UfxDeviceCreate所建立驅動程式的UFX裝置物件的句柄。

[in] DeviceSpeed

包含 USB_DEVICE_SPEED類型的 值,指出裝置的速度。

傳回值

備註

用戶端驅動程式在收到總線重設事件時呼叫 UfxDeviceNotifyReset 。 所有非預設端點都應該停用,而且應該重設預設端點。 裝置會移至默認狀態。

用戶端驅動程式通常會從其 EvtInterruptDpc 回呼函式呼叫 UfxDeviceNotifyReset。 下列範例示範如何處理重設事件。


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();
}

規格需求

需求
最低支援的用戶端 Windows 10
目標平台 Windows
標頭 ufxclient.h
程式庫 ufxstub.lib
IRQL DISPATCH_LEVEL