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 per 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 |
---|---|
|
IRQL del chiamante non valido. |
Questo metodo potrebbe anche restituire altri valori NTSTATUS .
Se il driver fornisce un handle di oggetto non valido, si verifica un controllo di bug.
Osservazioni
Il ciclo di alimentazione di una porta fa sì che il dispositivo venga rimosso e rinumerato a sorpresa. Un driver potrebbe richiedere un ciclo di alimentazione dopo il caricamento del firmware in un dispositivo.
Prima che il framework ciclica la porta USB della destinazione 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 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 I/O USB.
Esempi
L'esempio di codice seguente esegue il ciclo di alimentazione di una porta USB del dispositivo specificato.
NTSTATUS status;
status = WdfUsbTargetDeviceCyclePortSynchronously(UsbDevice);
Fabbisogno
Requisito | Valore |
---|---|
piattaforma di destinazione | Universale |
versione minima di KMDF | 1.0 |
intestazione | wdfusb.h (include Wdfusb.h) |
libreria | Wdf01000.sys (vedere Controllo delle versioni della libreria framework). |
IRQL | PASSIVE_LEVEL |
regole di conformità DDI | DriverCreate(kmdf), KmdfIrql(kmdf), KmdfIrql2(kmdf), KmdfIrqlExplicit(kmdf), UsbKmdfIrql(kmdf), UsbKmdfIrql2(kmdf), UsbKmdfIrqlExplicit(kmdf) |