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 |