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

IRP_MJ_DEVICE_CONTROL

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.

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

WdfIoTargetSendInternalIoctlSynchronously

WdfIoTargetSendIoctlSynchronously