Função WdfUsbTargetDeviceQueryUsbCapability (wdfusb.h)
[Aplica-se a KMDF e UMDF]
O método WdfUsbTargetDeviceQueryUsbCapability determina se o controlador de host e a pilha de driver USB dão suporte a uma funcionalidade específica.
Sintaxe
NTSTATUS WdfUsbTargetDeviceQueryUsbCapability(
[in] WDFUSBDEVICE UsbDevice,
[in] const GUID *CapabilityType,
[in] ULONG CapabilityBufferLength,
[out, optional] PVOID CapabilityBuffer,
[out, optional] PULONG ResultLength
);
Parâmetros
[in] UsbDevice
Um identificador para um objeto de dispositivo USB.
[in] CapabilityType
Um ponteiro para um GUID que representa a capacidade sobre a qual o driver cliente deseja recuperar informações. Os possíveis valores de PGUID são os seguintes:
- GUID_USB_CAPABILITY_CHAINED_MDLS
- GUID_USB_CAPABILITY_STATIC_STREAMS
- GUID_USB_CAPABILITY_SELECTIVE_SUSPEND
- GUID_USB_CAPABILITY_FUNCTION_SUSPEND
- GUID_USB_CAPABILITY_DEVICE_CONNECTION_HIGH_SPEED_COMPATIBLE
- GUID_USB_CAPABILITY_DEVICE_CONNECTION_SUPER_SPEED_COMPATIBLE
[in] CapabilityBufferLength
Comprimento, em bytes, do buffer apontado por CapabilityBuffer.
[out, optional] CapabilityBuffer
Um ponteiro para um buffer alocado pelo chamador para receber a funcionalidade USB solicitada. Esse parâmetro é opcional. Se CapabilityBufferLength for zero, esse parâmetro deverá ser NULL. Da mesma forma, se CapabilityBufferLength for diferente de zero, esse parâmetro deverá ser fornecido. Esse parâmetro corresponde ao parâmetro OutputBuffer da rotina USBD_QueryUsbCapability .
[out, optional] ResultLength
Um ponteiro para um local que contém o tamanho, em bytes, da funcionalidade retornada. Esse parâmetro é opcional.
Retornar valor
WdfUsbTargetDeviceQueryUsbCapability retornará STATUS_SUCCESS 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 |
---|---|
|
O identificador de objeto do dispositivo USB não é válido. |
|
Memória insuficiente disponível. |
|
O chamador passou um valor de parâmetro inválido.
|
|
Não há suporte para a funcionalidade especificada pela pilha de driver USB subjacente. |
|
Não há suporte para a funcionalidade especificada pelo hardware do controlador de host. |
Esse método também pode retornar outros valores NTSTATUS.
Comentários
Antes de chamar WdfUsbTargetDeviceQueryUsbCapability, o driver deve chamar WdfUsbTargetDeviceCreateWithParameters para se registrar na pilha de driver USB subjacente.
WdfUsbTargetDeviceQueryUsbCapability deve ser chamado depois que a função de retorno de chamada EvtDevicePrepareHardware do driver tiver sido chamada.
A tabela a seguir descreve os recursos específicos de USB que um driver de cliente USB baseado em KMDF pode consultar por meio de uma chamada WdfUsbTargetDeviceQueryUsbCapability .
GUID de funcionalidade | Descrição |
---|---|
GUID_USB_CAPABILITY_CHAINED_MDLS |
A nova pilha de drivers USB no Windows 8 é capaz de aceitar um MDL encadeado (consulte MDL) de um driver de cliente USB baseado em KMDF.
Para obter mais informações sobre a funcionalidade de MDLs encadeadas na pilha de driver USB, consulte Como enviar MDLs encadeados. Esse GUID se aplica somente a drivers KMDF. |
GUID_USB_CAPABILITY_STATIC_STREAMS |
Enquanto o USB 2.0 e versões anteriores dão suporte ao envio de apenas um único fluxo de dados por meio de um ponto de extremidade em massa, o USB 3.0 permite enviar e receber vários fluxos de dados por meio de um ponto de extremidade em massa.
Para obter mais informações sobre como abrir fluxos, consulte Como abrir e fechar fluxos estáticos em um ponto de extremidade em massa USB. Esse GUID se aplica somente a drivers KMDF. |
GUID_USB_CAPABILITY_FUNCTION_SUSPEND |
A especificação do Barramento Serial Universal (USB) 3.0 define um novo recurso chamado suspensão de função. O recurso permite que uma função individual de um dispositivo composto entre em um estado de baixa potência, independentemente de outras funções.
Para obter mais informações sobre suspensão de função, consulte How to Implement Function Suspend in a Composite Driver. Esse GUID se aplica somente a drivers KMDF. |
GUID_USB_CAPABILITY_SELECTIVE_SUSPEND |
Para obter informações sobre a suspensão seletiva, consulte Suspensão seletiva por USB.
Esse GUID se aplica somente a drivers KMDF. |
GUID_USB_CAPABILITY_DEVICE_CONNECTION_HIGH_SPEED_COMPATIBLE |
Determina se o ônibus está operando em alta velocidade ou superior.
Esse GUID se aplica a drivers KMDF e UMDF. |
GUID_USB_CAPABILITY_DEVICE_CONNECTION_SUPER_SPEED_COMPATIBLE |
Determina se o ônibus está operando em SuperSpeed ou superior.
Esse GUID se aplica a drivers KMDF e UMDF. |
Requisitos
Requisito | Valor |
---|---|
Cliente mínimo com suporte | Windows Vista |
Plataforma de Destino | Universal |
Versão mínima do KMDF | 1.11 |
Versão mínima do UMDF | 2,0 |
Cabeçalho | wdfusb.h (include Wdfusb.h) |
Biblioteca | Wdf01000.sys (KMDF); WUDFx02000.dll (UMDF) |
IRQL | PASSIVE_LEVEL |
Regras de conformidade da DDI | DriverCreate(kmdf) |