Compartilhar via


EVT_UCX_CONTROLLER_RESET função de retorno de chamada (ucxcontroller.h)

A implementação do driver cliente que o UCX chama para redefinir o controlador.

Sintaxe

EVT_UCX_CONTROLLER_RESET EvtUcxControllerReset;

void EvtUcxControllerReset(
  [in] UCXCONTROLLER UcxController
)
{...}

Parâmetros

[in] UcxController

Um identificador para o controlador UCX que o driver cliente recebeu em uma chamada anterior para o método UcxControllerCreate .

Retornar valor

Nenhum

Comentários

O driver cliente UCX registra sua implementação de EVT_UCX_CONTROLLER_RESET com a UCX (extensão do controlador de host USB) chamando o método UcxControllerCreate .

O driver do cliente indica a conclusão desse evento chamando o método UcxControllerResetComplete . Isso garante que o UCX não chame EVT_UCX_CONTROLLER_RESET uma segunda vez antes que esse retorno de chamada de evento seja concluído.

Se o driver cliente chamar UcxControllerNeedsReset, o UCX chamará essa função de retorno de chamada de evento. No entanto, o UCX pode chamar essa função de retorno de chamada de evento mesmo quando o driver cliente não tiver chamado UcxControllerNeedsReset.

Exemplos

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

Requisitos

Requisito Valor
Plataforma de Destino Windows
Versão mínima do KMDF 1.0
Versão mínima do UMDF 2,0
Cabeçalho ucxcontroller.h (inclua Ucxclass.h)
IRQL PASSIVE_LEVEL

Confira também

UcxControllerCreate

UcxControllerNeedsReset

UcxControllerResetComplete