Compartilhar via


Função WdfUsbTargetDeviceCyclePortSynchronously (wdfusb.h)

[Aplica-se somente ao KMDF]

O método WdfUsbTargetDeviceCyclePortSynchronously ciclos de energia da porta USB à qual um dispositivo especificado está anexado.

Sintaxe

NTSTATUS WdfUsbTargetDeviceCyclePortSynchronously(
  [in] WDFUSBDEVICE UsbDevice
);

Parâmetros

[in] UsbDevice

Um identificador para um objeto de dispositivo USB que foi obtido de uma chamada anterior para WdfUsbTargetDeviceCreateWithParameters.

Retornar valor

WdfUsbTargetDeviceCyclePortSynchronously retorna o valor de status de conclusão do destino de E/S se a operação for bem-sucedida. Caso contrário, esse método pode retornar um dos seguintes valores:

Código de retorno Descrição
STATUS_INVALID_DEVICE_REQUEST
O IRQL do chamador era inválido.
 

Esse método também pode retornar outros valores NTSTATUS.

Um bug marcar ocorrerá se o driver fornecer um identificador de objeto inválido.

Comentários

O ciclo de energia de uma porta faz com que o dispositivo seja removido e renumerado. Um driver pode solicitar um ciclo de energia depois de carregar o firmware em um dispositivo.

Antes que a estrutura recicle a porta USB do destino de E/S, ela cancela todas as solicitações de E/S que permanecem na fila do destino de E/S. O driver não deve enviar solicitações de E/S adicionais para o destino de E/S até que WdfUsbTargetDeviceCyclePortSynchronously retorne.

O driver deve chamar WdfIoTargetStop antes de chamar WdfUsbTargetDeviceCyclePortSynchronously.

Para obter mais informações sobre o método WdfUsbTargetDeviceCyclePortSynchronously e destinos de E/S USB, consulte Destinos de E/S USB.

Exemplos

O exemplo de código a seguir gera ciclos de energia na porta USB de um dispositivo especificado.

NTSTATUS status;

status = WdfUsbTargetDeviceCyclePortSynchronously(UsbDevice);

Requisitos

Requisito Valor
Plataforma de Destino Universal
Versão mínima do KMDF 1.0
Cabeçalho wdfusb.h (include Wdfusb.h)
Biblioteca Wdf01000.sys (consulte Controle de versão da biblioteca de estrutura.)
IRQL PASSIVE_LEVEL
Regras de conformidade da DDI DriverCreate(kmdf), KmdfIrql(kmdf), KmdfIrql2(kmdf), KmdfIrqlExplicit(kmdf), UsbKmdfIrql(kmdf), UsbKmdfIrql2(kmdf), UsbKmdfIrqlExplicit(kmdf)

Confira também

WdfUsbTargetDeviceCreateWithParameters