Funzione WdfUsbTargetDeviceCyclePortSynchronously (wdfusb.h)
[Si applica solo a KMDF]
Il metodo WdfUsbTargetDeviceCyclePortSynchronously ciclicamente la porta USB a cui è collegato un dispositivo specificato.
Sintassi
NTSTATUS WdfUsbTargetDeviceCyclePortSynchronously(
[in] WDFUSBDEVICE UsbDevice
);
Parametri
[in] UsbDevice
Handle a un oggetto dispositivo USB ottenuto da una chiamata precedente a WdfUsbTargetDeviceCreateWithParameters.
Valore restituito
WdfUsbTargetDeviceCyclePortSynchronously restituisce il valore di stato di completamento della destinazione I/O se l'operazione ha esito positivo. In caso contrario, questo metodo potrebbe restituire uno dei valori seguenti:
Codice restituito | Descrizione |
---|---|
|
Il chiamante IRQL non è valido. |
Questo metodo potrebbe restituire anche altri valori NTSTATUS.
Un controllo di bug si verifica se il driver fornisce un handle di oggetti non valido.
Commenti
Il ciclo di alimentazione di una porta causa la rimozione sorpresa e l'enumerazione del dispositivo. Un driver potrebbe richiedere un ciclo di alimentazione dopo aver caricato il firmware in un dispositivo.
Prima che il framework cicli la porta USB della destinazione di I/O, annulla tutte le richieste di I/O che rimangono nella coda della destinazione di I/O. Il driver non deve inviare richieste di I/O aggiuntive alla destinazione di I/O fino a quando WdfUsbTargetDeviceCyclePortSynchronously restituisce .
Il driver deve chiamare WdfIoTargetStop prima di chiamare WdfUsbTargetDeviceCyclePortSynchronously.
Per altre informazioni sul metodo WdfUsbTargetDeviceCyclePortSynchronously e sulle destinazioni di I/O USB, vedere Destinazioni di I/O USB.
Esempio
L'esempio di codice seguente esegue il ciclo di alimentazione di una porta USB specificata.
NTSTATUS status;
status = WdfUsbTargetDeviceCyclePortSynchronously(UsbDevice);
Requisiti
Requisito | Valore |
---|---|
Piattaforma di destinazione | Universale |
Versione KMDF minima | 1.0 |
Intestazione | wdfusb.h (include Wdfusb.h) |
Libreria | Wdf01000.sys (vedere Framework Library Versioning). |
IRQL | PASSIVE_LEVEL |
Regole di conformità DDI | DriverCreate(kmdf), KmdfIrql(kmdf), KmdfIrql2(kmdf), KmdfIrqlExplicit(kmdf), UsbKmdfIrql(kmdf), UsbKmdfIrql2(kmdf), UsbKmdfIrqlExplicit(kmdf) |