EVT_UCX_CONTROLLER_RESET callback function (ucxcontroller.h)
The client driver's implementation that UCX calls to reset the controller.
Syntax
EVT_UCX_CONTROLLER_RESET EvtUcxControllerReset;
void EvtUcxControllerReset(
[in] UCXCONTROLLER UcxController
)
{...}
Parameters
[in] UcxController
A handle to the UCX controller that the client driver received in a previous call to the UcxControllerCreate method.
Return value
None
Remarks
The UCX client driver registers its EVT_UCX_CONTROLLER_RESET implementation with the USB host controller extension (UCX) by calling the UcxControllerCreate method.
The client driver indicates completion of this event by calling the UcxControllerResetComplete method. Doing so ensures that UCX does not call EVT_UCX_CONTROLLER_RESET a second time before this event callback completes.
If the client driver calls UcxControllerNeedsReset, UCX calls this event callback function. However, UCX may call this event callback function even when the client driver has not called UcxControllerNeedsReset.
Examples
VOID
Controller_EvtControllerReset(
UCXCONTROLLER UcxController
)
{
UCX_CONTROLLER_RESET_COMPLETE_INFO controllerResetCompleteInfo;
//
// TODO: Reset the controller
//
//
// TODO: Were devices and endpoints programmed in the controller before the reset
// still programmed in the controller after the reset?
//
UCX_CONTROLLER_RESET_COMPLETE_INFO_INIT(&controllerResetCompleteInfo,
UcxControllerStateLost,
TRUE); // reset due to UCX, received EvtReset after WDF power-up
DbgTrace(TL_INFO, Controller, "Controller_EvtControllerReset");
UcxControllerResetComplete(UcxController, &controllerResetCompleteInfo);
}
Requirements
Requirement | Value |
---|---|
Target Platform | Windows |
Minimum KMDF version | 1.0 |
Minimum UMDF version | 2.0 |
Header | ucxcontroller.h (include Ucxclass.h) |
IRQL | PASSIVE_LEVEL |