Compartir a través de


EVT_UFX_DEVICE_PORT_CHANGE función de devolución de llamada (ufxclient.h)

La implementación del controlador cliente para actualizar el tipo del nuevo puerto al que está conectado el dispositivo USB.

Sintaxis

EVT_UFX_DEVICE_PORT_CHANGE EvtUfxDevicePortChange;

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

Parámetros

[in] unnamedParam1

Identificador de un objeto de dispositivo USB que el controlador cliente recibió en una llamada anterior a UfxDeviceCreate.

[in] unnamedParam2

Marca de tipo USBFN_PORT_STATE que indica el tipo del nuevo puerto.

Valor devuelto

None

Observaciones

El controlador cliente para el controlador host de función registra su implementación de EVT_UFX_DEVICE_PORT_CHANGE con la extensión de clase de función USB (UFX) llamando al método UfxDeviceCreate .

UFX invoca esta devolución de llamada de evento para informar al controlador cliente sobre el nuevo estado del dispositivo.

El controlador cliente indica la finalización de este evento llamando al método UfxDeviceEventComplete .

Ejemplos


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 Value
Plataforma de destino Windows
Versión mínima de KMDF 1.0
Versión mínima de UMDF 2.0
Encabezado ufxclient.h
IRQL PASSIVE_LEVEL

Consulte también

UfxDeviceCreate

UfxDeviceEventComplete