Función WdfUsbTargetDeviceCyclePortSynchronously (wdfusb.h)
[Solo se aplica a KMDF]
El método WdfUsbTargetDeviceCyclePortSynchronousmente el puerto USB al que está conectado un dispositivo especificado.
Sintaxis
NTSTATUS WdfUsbTargetDeviceCyclePortSynchronously(
[in] WDFUSBDEVICE UsbDevice
);
Parámetros
[in] UsbDevice
Identificador de un objeto de dispositivo USB obtenido de una llamada anterior a WdfUsbTargetDeviceCreateWithParameters.
Valor devuelto
WdfUsbTargetDeviceCyclePortSynchronously devuelve el valor de estado de finalización del destino de E/S si la operación se realiza correctamente. De lo contrario, este método podría devolver uno de los siguientes valores:
Código devuelto | Descripción |
---|---|
|
IrQL del autor de la llamada no era válido. |
Este método también puede devolver otros valores de NTSTATUS.
Se produce una comprobación de errores si el controlador proporciona un identificador de objeto no válido.
Observaciones
El ciclo de alimentación de un puerto hace que el dispositivo se quite y se vuelva a enumerar. Un controlador puede solicitar un ciclo de alimentación después de cargar el firmware en un dispositivo.
Antes de que el marco de trabajo ciclos el puerto USB del destino de E/S, cancela todas las solicitudes de E/S que permanecen en la cola del destino de E/S. El controlador no debe enviar solicitudes de E/S adicionales al destino de E/S hasta que WdfUsbTargetDeviceCyclePortSynchronously devuelve.
El controlador debe llamar a WdfIoTargetStop antes de llamar a WdfUsbTargetDeviceCyclePortSynchronously.
Para obtener más información sobre el método WdfUsbTargetDeviceCyclePortSynchronously y los destinos de E/S USB, consulte destinos de E/S USB.
Ejemplos
En el ejemplo de código siguiente se genera un ciclo de energía en el puerto USB de un dispositivo especificado.
NTSTATUS status;
status = WdfUsbTargetDeviceCyclePortSynchronously(UsbDevice);
Requisitos
Requisito | Valor |
---|---|
de la plataforma de destino de | Universal |
versión mínima de KMDF | 1.0 |
encabezado de | wdfusb.h (incluya Wdfusb.h) |
biblioteca de | Wdf01000.sys (consulte Control de versiones de la biblioteca de marcos). |
irQL | PASSIVE_LEVEL |
reglas de cumplimiento de DDI | DriverCreate(kmdf), KmdfIrql(kmdf), KmdfIrql2(kmdf), KmdfIrqlExplicit(kmdf), UsbKmdfIrql(kmdf), UsbKmdfIrql2(kmdf), UsbKmdfIrqlExplicit(kmdf) |