IOCTL_USB_GET_TRANSPORT_CHARACTERISTICS IOCTL (usbioctl.h)
O driver cliente envia essa solicitação para recuperar as características de transporte.
Código principal
Buffer de entrada/saída
O membro AssociatedIrp.SystemBuffer é um ponteiro para uma estrutura de USB_TRANSPORT_CHARACTERISTICS alocada pelo chamador. Na entrada, defina Versão como USB_TRANSPORT_CHARACTERISTICS_VERSION_1. Na saída , a Versão é redefinida para uma versão menor ou igual a USB_TRANSPORT_CHARACTERISTICS_VERSION_1; os membros restantes da estrutura estão cheios de informações de transporte.
Comprimento do buffer de entrada/saída
O tamanho da estrutura USB_TRANSPORT_CHARACTERISTICS .
Bloco de status
Irp->IoStatus.Status será definido como STATUS_SUCCESS se a solicitação for bem-sucedida. Caso contrário, Status para a condição de erro apropriada como um código NTSTATUS .
Comentários
Essa solicitação recupera as características de transporte para decidir sobre um algoritmo para streaming. Por exemplo, um driver de exibição pode usar as informações de latência e largura de banda para decidir sua seleção de codec.
Essas informações podem não estar sempre disponíveis. A pilha do driver USB depende do transporte subjacente para expor esses valores. Portanto, o driver do cliente deve ter um mecanismo de backup para esses casos em que a solicitação.
Se o driver cliente estiver interessado em saber as informações mais recentes o tempo todo, o driver deverá se registrar para notificação quando as características de transporte forem alteradas, manter uma solicitação pendente com a pilha do driver USB e cancelar o registro quando a notificação não for mais necessária. O driver pode realizar todas essas tarefas enviando essas solicitações IOCTL.
- IOCTL_USB_REGISTER_FOR_TRANSPORT_CHARACTERISTICS_CHANGE
- IOCTL_USB_NOTIFY_ON_TRANSPORT_CHARACTERISTICS_CHANGE
- IOCTL_USB_UNREGISTER_FOR_TRANSPORT_CHARACTERISTICS_CHANGE
Requisitos
Requisito | Valor |
---|---|
Cliente mínimo com suporte | Windows 10, versão 1709 |
Servidor mínimo com suporte | Windows Server 2016 |
Cabeçalho | usbioctl.h |
IRQL | <=DISPATCH_LEVEL |
Confira também
Criando solicitações IOCTL em drivers
Drivers de cliente USB para Media-Agnostic (MA-USB)
WdfIoTargetSendInternalIoctlOthersSynchronously