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 |
---|---|
|
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) |