Compartilhar via


função de retorno de chamada EVT_UFX_DEVICE_PORT_CHANGE (ufxclient.h)

A implementação do driver cliente para atualizar o tipo da nova porta à qual o dispositivo USB está conectado.

Sintaxe

EVT_UFX_DEVICE_PORT_CHANGE EvtUfxDevicePortChange;

void EvtUfxDevicePortChange(
  [in] UFXDEVICE unnamedParam1,
  [in] USBFN_PORT_TYPE unnamedParam2
)
{...}

Parâmetros

[in] unnamedParam1

O identificador para um objeto de dispositivo USB que o driver cliente recebeu em uma chamada anterior para o UfxDeviceCreate.

[in] unnamedParam2

Um sinalizador do tipo USBFN_PORT_STATE que indica o tipo da nova porta.

Retornar valor

Nenhum

Comentários

O driver do cliente para o controlador de host de função registra sua implementação EVT_UFX_DEVICE_PORT_CHANGE com a extensão de classe de função USB (UFX) chamando o método UfxDeviceCreate .

A UFX invoca esse retorno de chamada de evento para informar o driver cliente sobre o novo estado do dispositivo.

O driver do cliente indica a conclusão desse evento chamando o método UfxDeviceEventComplete .

Exemplos


EVT_UFX_DEVICE_PORT_CHANGE UfxDevice_EvtDevicePortChange;

VOID
UfxDevice_EvtDevicePortChange (
    _In_        UFXDEVICE UfxDevice,
    _In_        USBFN_PORT_TYPE NewPort
    )
/*++

Routine Description:

    EvtDevicePortChange handler for the UFXDEVICE object.
    Caches the new port type, and stops or resumes idle as needed.

Arguments:

    UfxDevice - UFXDEVICE object representing the device.

    NewPort - New port type

--*/
{
    NTSTATUS Status;
    PUFXDEVICE_CONTEXT Context;

    PAGED_CODE();

    TraceEntry();

    Context = UfxDeviceGetContext(UfxDevice);

    TraceInformation("New PORT: %d", NewPort);

    //
    //  #### TODO: Insert code to examine the device USB state and port type 
    //      and determine if it needs to stop or resume idle.


    UfxDeviceEventComplete(UfxDevice, STATUS_SUCCESS);
    TraceExit();
}

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 ufxclient.h
IRQL PASSIVE_LEVEL

Confira também

UfxDeviceCreate

UfxDeviceEventComplete