Compartir a través de


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

Implementación del controlador cliente para iniciar la conexión con el host.

Sintaxis

EVT_UFX_DEVICE_HOST_CONNECT EvtUfxDeviceHostConnect;

void EvtUfxDeviceHostConnect(
  [in] UFXDEVICE unnamedParam1
)
{...}

Parámetros

[in] unnamedParam1

Identificador de un objeto de dispositivo USB que el controlador cliente recibió en una llamada anterior al método UfxDeviceCreate .

Valor devuelto

None

Observaciones

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

El controlador cliente no debe iniciar la conexión con el host hasta que UFX invoque esta devolución de llamada de evento. El controlador cliente indicará la finalización de este evento llamando al método UfxDeviceEventComplete .

Ejemplos

EVT_UFX_DEVICE_HOST_CONNECT UfxDevice_EvtDeviceHostConnect;

VOID
UfxDevice_EvtDeviceHostConnect (
    _In_ UFXDEVICE UfxDevice
    )
/*++

Routine Description:

    EvtDeviceHostConnect callback handler for UFXDEVICE object.

Arguments:

    UfxDevice - UFXDEVICE object representing the device.

--*/
{
    PCONTROLLER_CONTEXT ControllerContext;
    PUFXDEVICE_CONTEXT DeviceContext;
    BOOLEAN EventComplete;

    TraceEntry();

    DeviceContext = UfxDeviceGetContext(UfxDevice);
    ControllerContext = DeviceGetControllerContext(DeviceContext->FdoWdfDevice);

    EventComplete = TRUE;

    WdfSpinLockAcquire(ControllerContext->DpcLock);

    //
    // #### TODO: Insert code to set the run state on the controller ####
    //

    WdfSpinLockRelease(ControllerContext->DpcLock);

    if (EventComplete) {
        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 <=DISPATCH_LEVEL

Consulte también