função WinUsb_WriteIsochPipeAsap (winusb.h)
O WinUsb_WriteIsochPipeAsap envia uma solicitação para gravar o conteúdo de um buffer em um ponto de extremidade OUT isócrono.
Sintaxe
BOOL WinUsb_WriteIsochPipeAsap(
[in] WINUSB_ISOCH_BUFFER_HANDLE BufferHandle,
[in] ULONG Offset,
[in] ULONG Length,
[in] BOOL ContinueStream,
[in, optional] LPOVERLAPPED Overlapped
);
Parâmetros
[in] BufferHandle
Um identificador opaco para o buffer de transferência que foi registrado por uma chamada anterior para WinUsb_RegisterIsochBuffer.
[in] Offset
Deslocamento para o buffer em relação ao início da transferência.
[in] Length
Comprimento em bytes do buffer de transferência.
[in] ContinueStream
Indica que a transferência só deve ser enviada se puder ser agendada no primeiro quadro após a última transferência pendente.
[in, optional] Overlapped
Ponteiro para uma estrutura OVERLAPPED usada para operações assíncronas.
Retornar valor
WinUsb_WriteIsochPipeAsap retornará TRUE se a operação for bem-sucedida. Caso contrário, essa função retornará FALSE e o chamador poderá recuperar o erro registrado chamando GetLastError.
Se o chamador definir ContinueStream como TRUE, a transferência falhará se Winusb.sys não puder agendar a transferência para continuar o fluxo sem descartar um ou mais quadros.
Comentários
WinUsb_WriteIsochPipeAsap permite que a pilha de driver USB escolha o número do quadro inicial para a transferência. Se uma ou mais transferências já estiverem pendentes no ponto de extremidade, a transferência será agendada para o número do quadro imediatamente após o último número de quadro da última transferência pendente no momento.
WinUsb_WriteIsochPipeAsap em pacote o buffer de transferência para que, em cada intervalo de 1ms, o host possa enviar o máximo de bytes permitidos por intervalo. O máximo de bytes é especificado pelo descritor de ponto de extremidade para pontos de extremidade completos e de alta velocidade e o descritor complementar de ponto de extremidade para pontos de extremidade SuperSpeed. Se o chamador enviar várias solicitações de gravação para transmitir dados para o dispositivo, o tamanho da transferência deverá ser um múltiplo do máximo de bytes por intervalo (conforme retornado por WinUsb_QueryPipeEx) * 8 / intervalo.
Devido ao empacotamento de transferência usado na interface de modo kernel subjacente, a notificação de latência mais baixa para um aplicativo ou driver é de intervalos de 1 ms.
Requisitos
Requisito | Valor |
---|---|
Cliente mínimo com suporte | Windows 8.1 |
Servidor mínimo com suporte | Windows Server 2012 R2 |
Plataforma de Destino | Universal |
Cabeçalho | winusb.h (inclua Winusb.h) |
Biblioteca | Winusb.lib |
DLL | Winusb.dll |
Confira também
Enviar transferências isócronas USB de um aplicativo da área de trabalho do WinUSB