WinUsb_ReadIsochPipe (winusb.h)

Fungsi WinUsb_ReadIsochPipe membaca data dari titik akhir IN isochronous.

Sintaks

BOOL WinUsb_ReadIsochPipe(
  [in]           WINUSB_ISOCH_BUFFER_HANDLE  BufferHandle,
  [in]           ULONG                       Offset,
  [in]           ULONG                       Length,
  [in, out]      PULONG                      FrameNumber,
  [in]           ULONG                       NumberOfPackets,
  [out]          PUSBD_ISO_PACKET_DESCRIPTOR IsoPacketDescriptors,
  [in, optional] LPOVERLAPPED                Overlapped
);

Parameter

[in] BufferHandle

Handel buram ke buffer transfer yang didaftarkan oleh panggilan sebelumnya ke WinUsb_RegisterIsochBuffer.

[in] Offset

Offset ke dalam buffer relatif terhadap mulai transfer.

[in] Length

Panjang dalam byte buffer transfer.

[in, out] FrameNumber

Pada input, menunjukkan nomor bingkai awal untuk transfer. Pada output, berisi nomor bingkai bingkai yang mengikuti bingkai terakhir yang digunakan dalam transfer.

[in] NumberOfPackets

Jumlah total paket isochronous yang diperlukan untuk menahan buffer transfer. Juga menunjukkan jumlah elemen dalam array yang ditunjukkan oleh IsoPacketDescriptors.

[out] IsoPacketDescriptors

Array struktur USBD_ISO_PACKET_DESCRIPTOR . Setelah transfer selesai, setiap elemen berisi status dan ukuran paket isochronous.

[in, optional] Overlapped

Penunjuk ke struktur TUMPANG TINDIH yang digunakan untuk operasi asinkron.

Nilai kembali

WinUsb_ReadIsochPipe mengembalikan TRUE jika operasi berhasil. Jika tidak, fungsi ini mengembalikan FALSE, dan pemanggil dapat mengambil kesalahan yang dicatat dengan memanggil GetLastError.

Keterangan

WinUsb_ReadIsochPipe mengemas buffer transfer sehingga dalam setiap interval 1ms, host dapat menerima byte maksimum yang diizinkan per interval. Byte maksimum seperti yang ditentukan oleh deskriptor titik akhir untuk titik akhir penuh dan berkecepatan tinggi, dan deskriptor pendamping titik akhir untuk titik akhir SuperSpeed. Jika pemanggil mengirimkan beberapa permintaan baca untuk mengalirkan data dari perangkat, ukuran transfer harus menjadi kelipatan byte maksimum per interval (seperti yang dikembalikan oleh WinUsb_QueryPipeEx) * 8 / interval.

Karena kemasan transfer yang digunakan dalam antarmuka mode kernel yang mendasar, pemberitahuan latensi terendah ke aplikasi atau driver adalah interval 1ms.

Persyaratan

Persyaratan Nilai
Klien minimum yang didukung Windows 8.1
Server minimum yang didukung Windows Server 2012 R2
Target Platform Universal
Header winusb.h (termasuk Winusb.h)
Pustaka Winusb.lib
DLL Winusb.dll

Lihat juga

Mengirim transfer isochronous USB dari aplikasi desktop WinUSB

Fungsi WinUSB