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 |