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
Saran dan Komentar
https://aka.ms/ContentUserFeedback.
Segera hadir: Sepanjang tahun 2024 kami akan menghentikan penggunaan GitHub Issues sebagai mekanisme umpan balik untuk konten dan menggantinya dengan sistem umpan balik baru. Untuk mengetahui informasi selengkapnya, lihat:Kirim dan lihat umpan balik untuk