Condividi tramite


EVT_UFX_DEVICE_HOST_CONNECT funzione di callback (ufxclient.h)

Implementazione del driver client per avviare la connessione con l'host.

Sintassi

EVT_UFX_DEVICE_HOST_CONNECT EvtUfxDeviceHostConnect;

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

Parametri

[in] unnamedParam1

Handle per un oggetto dispositivo USB ricevuto dal driver client in una chiamata precedente al metodo UfxDeviceCreate.

Valore restituito

Nessuno

Osservazioni

Il driver client per il controller host della funzione registra l'implementazione EVT_UFX_DEVICE_HOST_CONNECT con l'estensione della classe di funzione USB (UFX) chiamando il metodo UfxDeviceCreate.

Il driver client non deve avviare la connessione con l'host finché UFX non richiama questo callback dell'evento. Il driver client indicherà il completamento di questo evento chiamando il metodo UfxDeviceEventComplete.

Esempi

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

Fabbisogno

Requisito Valore
piattaforma di destinazione Finestre
versione minima di KMDF 1.0
versione minima di UMDF 2.0
intestazione ufxclient.h
IRQL <=DISPATCH_LEVEL

Vedere anche