Partager via


EVT_UFX_DEVICE_PORT_CHANGE fonction de rappel (ufxclient.h)

Implémentation du pilote client pour mettre à jour le type du nouveau port auquel le périphérique USB est connecté.

Syntaxe

EVT_UFX_DEVICE_PORT_CHANGE EvtUfxDevicePortChange;

void EvtUfxDevicePortChange(
  [in] UFXDEVICE unnamedParam1,
  [in] USBFN_PORT_TYPE unnamedParam2
)
{...}

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 à UfxDeviceCreate.

[in] unnamedParam2

Indicateur USBFN_PORT_STATE qui indique le type du nouveau port.

Valeur de retour

None

Remarques

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

UFX appelle ce rappel d’événement pour informer le pilote client du nouvel état de l’appareil.

Le pilote client indique la fin de cet événement en appelant la méthode UfxDeviceEventComplete .

Exemples


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

Configuration requise

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

Voir aussi

UfxDeviceCreate

UfxDeviceEventComplete