Condividi tramite


funzione WinUsb_WriteIsochPipe (winusb.h)

La funzione WinUsb_WriteIsochPipe scrive il contenuto di un buffer fornito dal chiamante in un endpoint OUT isochronous, a partire da un numero di frame specificato.

Sintassi

BOOL WinUsb_WriteIsochPipe(
  [in]           WINUSB_ISOCH_BUFFER_HANDLE BufferHandle,
  [in]           ULONG                      Offset,
  [in]           ULONG                      Length,
  [in, out]      PULONG                     FrameNumber,
  [in, optional] LPOVERLAPPED               Overlapped
);

Parametri

[in] BufferHandle

Handle opaco per il buffer di trasferimento registrato da una chiamata precedente a WinUsb_RegisterIsochBuffer.

[in] Offset

Offset nel buffer rispetto all'inizio del trasferimento.

[in] Length

Lunghezza in byte del buffer di trasferimento.

[in, out] FrameNumber

In input, indica il numero di frame iniziale per il trasferimento. Nell'output contiene il numero di frame del frame che segue l'ultimo fotogramma usato nel trasferimento.

[in, optional] Overlapped

Puntatore a una struttura OVERLAPPED utilizzata per le operazioni asincrone.

Valore restituito

WinUsb_WriteIsochPipe restituisce TRUE se l'operazione ha esito positivo. In caso contrario, questa funzione restituisce FALSE e il chiamante può recuperare l'errore registrato chiamando GetLastError.

Commenti

WinUsb_WriteIsochPipe pacchettizza il buffer di trasferimento in modo che, in ogni intervallo di 1 ms, l'host possa inviare i byte massimi consentiti per intervallo. I byte massimi sono specificati dal descrittore di endpoint per gli endpoint completi e ad alta velocità e il descrittore complementare dell'endpoint per gli endpoint SuperSpeed. Se il chiamante invia più richieste di scrittura per trasmettere dati al dispositivo, le dimensioni del trasferimento devono essere un multiplo dei byte massimi per intervallo (restituito da WinUsb_QueryPipeEx) * 8/intervallo.

A causa della creazione di pacchetti di trasferimento usata nell'interfaccia in modalità kernel sottostante, la notifica di latenza più bassa per un'applicazione o un driver è di intervalli di 1 ms.

Requisiti

Requisito Valore
Client minimo supportato Windows 8.1
Server minimo supportato Windows Server 2012 R2
Piattaforma di destinazione Universale
Intestazione winusb.h (include Winusb.h)
Libreria Winusb.lib
DLL Winusb.dll

Vedi anche

Inviare trasferimenti isocroni USB da un'app desktop WinUSB

Funzioni WinUSB