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 vers un objet de périphérique USB reçu par le pilote client lors d’un appel précédent à la méthode UfxDeviceCreate.

Valeur de retour

Aucun

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 que UFX n’appelle pas ce rappel d’événement. Le pilote client indique 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();
}

Exigences

Exigence Valeur
plateforme cible Windows
version minimale de KMDF 1.0
version minimale de UMDF 2.0
d’en-tête ufxclient.h
IRQL <=DISPATCH_LEVEL

Voir aussi