Compartilhar via


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

Funções do WinUSB