WdfUsbTargetDeviceCyclePortSynchronously-Funktion (wdfusb.h)
[Gilt nur für KMDF]
Die WdfUsbTargetDeviceCyclePortSynchronously-Methode schaltet den USB-Anschluss ein, an den ein angegebenes Gerät angeschlossen ist.
Syntax
NTSTATUS WdfUsbTargetDeviceCyclePortSynchronously(
[in] WDFUSBDEVICE UsbDevice
);
Parameter
[in] UsbDevice
Ein Handle für ein USB-Geräteobjekt, das von einem vorherigen Aufruf von WdfUsbTargetDeviceCreateWithParameters abgerufen wurde.
Rückgabewert
WdfUsbTargetDeviceCyclePortSynchronously gibt die Vervollständigung des E/A-Ziels status Wert zurück, wenn der Vorgang erfolgreich ist. Andernfalls gibt diese Methode möglicherweise einen der folgenden Werte zurück:
Rückgabecode | Beschreibung |
---|---|
|
Die IRQL des Aufrufers war ungültig. |
Diese Methode kann auch andere NTSTATUS-Werte zurückgeben.
Eine Fehlerüberprüfung tritt auf, wenn der Treiber ein ungültiges Objekthandle bereitstellt.
Hinweise
Beim Einschalten eines Ports wird das Gerät überraschend entfernt und neu aufgezählt. Ein Treiber kann einen Stromzyklus anfordern, nachdem er firmware in ein Gerät geladen hat.
Bevor das Framework den USB-Port des E/A-Ziels mit einem Zyklus abbricht, werden alle E/A-Anforderungen abgebrochen, die in der Warteschlange des E/A-Ziels verbleiben. Der Treiber darf keine zusätzlichen E/A-Anforderungen an das E/A-Ziel senden, bis WdfUsbTargetDeviceCyclePortSynchronously zurückgibt.
Der Treiber muss WdfIoTargetStop aufrufen, bevor er WdfUsbTargetDeviceCyclePortSynchronously aufruft.
Weitere Informationen zur WdfUsbTargetDeviceCyclePortSynchronously-Methode und USB-E/A-Zielen finden Sie unter USB-E/A-Ziele.
Beispiele
Im folgenden Codebeispiel wird der USB-Anschluss eines angegebenen Geräts mit Strom versorgt.
NTSTATUS status;
status = WdfUsbTargetDeviceCyclePortSynchronously(UsbDevice);
Anforderungen
Anforderung | Wert |
---|---|
Zielplattform | Universell |
KMDF-Mindestversion | 1.0 |
Kopfzeile | wdfusb.h (einschließlich Wdfusb.h) |
Bibliothek | Wdf01000.sys (siehe Versionierung der Frameworkbibliothek.) |
IRQL | PASSIVE_LEVEL |
DDI-Complianceregeln | DriverCreate(kmdf), KmdfIrql(kmdf), KmdfIrql2(kmdf), KmdfIrqlExplicit(kmdf), UsbKmdfIrql(kmdf), UsbKmdfIrql2(kmdf), UsbKmdfIrqlExplicit(kmdf) |