Compartir a través de


función WinUsb_ReadIsochPipeAsap (winusb.h)

La función WinUsb_ReadIsochPipeAsap envía una solicitud que lee datos de un punto de conexión IN isócrono.

Sintaxis

BOOL WinUsb_ReadIsochPipeAsap(
  [in]           WINUSB_ISOCH_BUFFER_HANDLE  BufferHandle,
  [in]           ULONG                       Offset,
  [in]           ULONG                       Length,
  [in]           BOOL                        ContinueStream,
  [in]           ULONG                       NumberOfPackets,
                 PUSBD_ISO_PACKET_DESCRIPTOR IsoPacketDescriptors,
  [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] NumberOfPackets

Número total de paquetes isócronos necesarios para contener el búfer de transferencia. También indica el número de elementos de la matriz a la que apunta IsoPacketDescriptors.

IsoPacketDescriptors

Matriz de USBD_ISO_PACKET_DESCRIPTOR que recibe los detalles de cada paquete isócrono en la transferencia.

[in, optional] Overlapped

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

Valor devuelto

WinUsb_ReadIsochPipeAsap 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.

Observaciones

WinUsb_ReadIsochPipeAsap 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_ReadIsochPipeAsap paqueteiza el búfer de transferencia para que, en cada intervalo, el host pueda recibir 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 lectura para transmitir datos desde el 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

   
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