Partager via


EVT_UFX_DEVICE_HOST_CONNECT fonction de rappel (ufxclient.h)

Implémentation du pilote client pour lancer la connexion avec l’hôte.

Syntaxe

EVT_UFX_DEVICE_HOST_CONNECT EvtUfxDeviceHostConnect;

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

Paramètres

[in] unnamedParam1

Handle d’un objet de périphérique USB que le pilote client a reçu lors d’un appel précédent à la méthode UfxDeviceCreate .

Valeur de retour

None

Remarques

Le pilote client du contrôleur hôte de fonction inscrit son implémentation EVT_UFX_DEVICE_HOST_CONNECT avec l’extension de classe de fonction USB (UFX) en appelant la méthode UfxDeviceCreate .

Le pilote client ne doit pas lancer la connexion avec l’hôte tant qu’UFX n’a pas appelé ce rappel d’événement. Le pilote client doit indiquer l’achèvement de cet événement en appelant la méthode UfxDeviceEventComplete .

Exemples

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

Configuration requise

Condition requise Valeur
Plateforme cible Windows
Version KMDF minimale 1.0
Version UMDF minimale 2.0
En-tête ufxclient.h
IRQL <=DISPATCH_LEVEL

Voir aussi