WdfUsbTargetDeviceCyclePortSynchronously, fonction (wdfusb.h)

[S’applique uniquement à KMDF]

La méthode WdfUsbTargetDeviceCyclePortSynchronously active le port USB auquel un appareil spécifié est attaché.

Syntaxe

NTSTATUS WdfUsbTargetDeviceCyclePortSynchronously(
  [in] WDFUSBDEVICE UsbDevice
);

Paramètres

[in] UsbDevice

Handle pour un objet de périphérique USB obtenu à partir d’un appel précédent à WdfUsbTargetDeviceCreateWithParameters.

Valeur retournée

WdfUsbTargetDeviceCyclePortSynchronously retourne la valeur d’achèvement de la cible d’E/S status si l’opération réussit. Sinon, cette méthode peut retourner l’une des valeurs suivantes :

Code de retour Description
STATUS_INVALID_DEVICE_REQUEST
L’IRQL de l’appelant n’était pas valide.
 

Cette méthode peut également retourner d’autres valeurs NTSTATUS.

Un bogue case activée se produit si le pilote fournit un handle d’objet non valide.

Remarques

La mise sous tension d’un port entraîne la suppression de l’appareil par surprise et sa réinscrire. Un pilote peut demander un cycle d’alimentation après avoir chargé le microprogramme dans un appareil.

Avant que l’infrastructure ne cycle le port USB de la cible d’E/S, elle annule toutes les demandes d’E/S qui restent dans la file d’attente de la cible d’E/S. Le pilote ne doit pas envoyer de demandes d’E/S supplémentaires à la cible d’E/S tant que WdfUsbTargetDeviceCyclePortSynchronously n’est pas retourné.

Le pilote doit appeler WdfIoTargetStop avant d’appeler WdfUsbTargetDeviceCyclePortSynchronously.

Pour plus d’informations sur la méthode WdfUsbTargetDeviceCyclePortSynchronously et les cibles d’E/S USB, consultez Cibles d’E/S USB.

Exemples

L’exemple de code suivant alimente le port USB d’un appareil spécifié.

NTSTATUS status;

status = WdfUsbTargetDeviceCyclePortSynchronously(UsbDevice);

Configuration requise

Condition requise Valeur
Plateforme cible Universal
Version KMDF minimale 1.0
En-tête wdfusb.h (inclure Wdfusb.h)
Bibliothèque Wdf01000.sys (consultez Gestion de version de la bibliothèque d’infrastructure.)
IRQL PASSIVE_LEVEL
Règles de conformité DDI DriverCreate(kmdf), KmdfIrql(kmdf), KmdfIrql2(kmdf), KmdfIrqlExplicit(kmdf), UsbKmdfIrql(kmdf), UsbKmdfIrql2(kmdf), UsbKmdfIrqlExplicit(kmdf)

Voir aussi

WdfUsbTargetDeviceCreateWithParameters