fungsi WinUsb_ReadIsochPipeAsap (winusb.h)

Fungsi WinUsb_ReadIsochPipeAsap mengirimkan permintaan yang membaca data dari titik akhir IN isochronous.

Sintaks

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
);

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] ContinueStream

Menunjukkan bahwa transfer hanya boleh dikirimkan jika dapat dijadwalkan dalam bingkai pertama setelah transfer terakhir yang tertunda.

[in] NumberOfPackets

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

IsoPacketDescriptors

Array USBD_ISO_PACKET_DESCRIPTOR yang menerima detail setiap paket isochronous dalam transfer.

[in, optional] Overlapped

Penunjuk ke struktur TUMPANG TINDIH yang digunakan untuk operasi asinkron.

Nilai kembali

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

Jika pemanggil mengatur ContinueStream ke TRUE, transfer gagal jika Winusb.sys tidak dapat menjadwalkan transfer untuk melanjutkan aliran tanpa menghilangkan satu atau beberapa bingkai.

Keterangan

WinUsb_ReadIsochPipeAsap memungkinkan tumpukan driver USB untuk memilih nomor bingkai awal untuk transfer. Jika satu atau beberapa transfer sudah tertunda pada titik akhir, transfer akan dijadwalkan untuk nomor bingkai segera setelah nomor bingkai terakhir dari transfer terakhir yang saat ini tertunda.

WinUsb_ReadIsochPipeAsap mengemas buffer transfer sehingga dalam setiap interval, 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

   
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