WdfUsbTargetDeviceResetPortSynchronously, fonction (wdfusb.h)
[S’applique à KMDF et UMDF]
La méthode WdfUsbTargetDeviceResetPortSynchronously réinitialise le port USB associé au périphérique USB spécifié.
Syntaxe
NTSTATUS WdfUsbTargetDeviceResetPortSynchronously(
[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
WdfUsbTargetDeviceResetPortSynchronously retourne la valeur d’achèvement status de la cible d’E/S USB 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 méthode WdfUsbTargetDeviceResetPortSynchronously réinitialise le port USB en envoyant une demande de IOCTL_INTERNAL_USB_RESET_PORT .
Avant que le framework ne réinitialise le port USB de la cible d’E/S, il 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 WdfUsbTargetDeviceResetPortSynchronously n’est pas retourné.
Le pilote doit appeler WdfIoTargetStop avant d’appeler WdfUsbTargetDeviceResetPortSynchronously. Une fois WdfUsbTargetDeviceResetPortSynchronously retourné, le pilote peut appeler WdfIoTargetStart.
Après une opération de réinitialisation réussie, le pilote de bus sélectionne à nouveau la configuration et tous les autres paramètres d’interface que l’appareil avait avant l’opération de réinitialisation.
Pour plus d’informations sur la méthode WdfUsbTargetDeviceResetPortSynchronously et les cibles d’E/S USB, consultez Cibles d’E/S USB.
Exemples
L’exemple de code suivant réinitialise le port USB d’un appareil spécifié.
NTSTATUS status;
status = WdfUsbTargetDeviceResetPortSynchronously(UsbDevice);
Configuration requise
Condition requise | Valeur |
---|---|
Plateforme cible | Universal |
Version KMDF minimale | 1.0 |
Version UMDF minimale | 2.0 |
En-tête | wdfusb.h (inclure Wdfusb.h) |
Bibliothèque | Wdf01000.sys (KMDF) ; WUDFx02000.dll (UMDF) |
IRQL | PASSIVE_LEVEL |
Règles de conformité DDI | DriverCreate(kmdf), KmdfIrql(kmdf), KmdfIrql2(kmdf), KmdfIrqlExplicit(kmdf), UsbKmdfIrql(kmdf), UsbKmdfIrql2(kmdf), UsbKmdfIrqlExplicit(kmdf) |