Compartir a través de


función WinUsb_WriteIsochPipeAsap (winusb.h)

El WinUsb_WriteIsochPipeAsap envía una solicitud para escribir el contenido de un búfer en un punto de conexión OUT isócrono.

Sintaxis

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

Identificador opaco del búfer de transferencia registrado por una llamada anterior a WinUsb_RegisterIsochBuffer.

[in] Offset

Desplazamiento en el búfer relativo al inicio de la transferencia.

[in] Length

Longitud en bytes del búfer de transferencia.

[in] ContinueStream

Indica que la transferencia solo debe enviarse si se puede programar en el primer fotograma después de la última transferencia pendiente.

[in, optional] Overlapped

Puntero a una estructura SUPERPUESTA usada para las operaciones asincrónicas.

Valor devuelto

WinUsb_WriteIsochPipeAsap devuelve TRUE si la operación se realiza correctamente. De lo contrario, esta función devuelve FALSE y el autor de la llamada puede recuperar el error registrado llamando a GetLastError.

Si el autor de la llamada establece ContinueStream en TRUE, se produce un error en la transferencia si Winusb.sys no puede programar la transferencia para continuar la secuencia sin quitar uno o varios fotogramas.

Comentarios

WinUsb_WriteIsochPipeAsap permite que la pila del controlador USB elija el número de fotograma inicial de la transferencia. Si una o varias transferencias ya están pendientes en el punto de conexión, la transferencia se programará para el número de fotograma inmediatamente después del último número de fotograma de la última transferencia pendiente actualmente.

WinUsb_WriteIsochPipeAsap paqueteiza el búfer de transferencia para que, en cada intervalo de 1 ms, el host pueda enviar los bytes máximos permitidos por intervalo. El descriptor de punto de conexión especifica los bytes máximos para los puntos de conexión completos y de alta velocidad, y el descriptor complementario del punto de conexión para los puntos de conexión SuperSpeed. Si el autor de la llamada envía varias solicitudes de escritura para transmitir datos al dispositivo, el tamaño de la transferencia debe ser un múltiplo de los bytes máximos por intervalo (devueltos por WinUsb_QueryPipeEx) * 8 /interval.

Debido al empaquetado de transferencia usado en la interfaz del modo kernel subyacente, la notificación de latencia más baja a una aplicación o controlador es de 1 ms intervalos.

Requisitos

Requisito Value
Cliente mínimo compatible Windows 8.1
Servidor mínimo compatible Windows Server 2012 R2
Plataforma de destino Universal
Encabezado winusb.h (incluya Winusb.h)
Library Winusb.lib
Archivo DLL Winusb.dll

Consulte también

Envío de transferencias isócrónicas USB desde una aplicación de escritorio winUSB

Funciones winUSB