Freigeben über


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

Weitere Informationen

WdfUsbTargetDeviceCreateWithParameters