WinUsb_ReadIsochPipeAsap函式 (winusb.h)
WinUsb_ReadIsochPipeAsap函式會提交從不時點 IN 端點讀取資料的要求。
語法
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
);
參數
[in] BufferHandle
先前呼叫 WinUsb_RegisterIsochBuffer所註冊之傳輸緩衝區的不透明控制碼。
[in] Offset
相對於開始傳輸的緩衝區位移。
[in] Length
傳輸緩衝區的位元組長度。
[in] ContinueStream
表示只有在最後一個暫止傳輸之後的第一個畫面格中可以排程傳輸時,才應該送出傳輸。
[in] NumberOfPackets
保存傳輸緩衝區所需的等時封包總數。 也表示 IsoPacketDescriptors指向之陣列中的專案數目。
IsoPacketDescriptors
USBD_ISO_PACKET_DESCRIPTOR陣列,可接收傳輸中每個等時封包的詳細資料。
[in, optional] Overlapped
用於非同步作業之 重迭 結構的指標。
傳回值
如果作業成功,WinUsb_ReadIsochPipeAsap會傳回 TRUE。 否則,此函式會傳回 FALSE,而且呼叫端可以呼叫 GetLastError來擷取記錄的錯誤。
如果呼叫端將 ContinueStream 設定為 TRUE,則如果Winusb.sys無法排程傳輸以繼續資料流程而不卸載一或多個畫面格,則傳輸會失敗。
備註
WinUsb_ReadIsochPipeAsap 可讓 USB 驅動程式堆疊選擇傳輸的起始畫面編號。 如果端點上已經有一或多個傳輸擱置中,則會排程傳輸,以緊接在最後一個目前擱置傳輸的最後一個畫面編號之後的畫面編號。
WinUsb_ReadIsochPipeAsap 封包處理傳輸緩衝區,以便在每一個間隔中,主機可以接收每個間隔允許的最大位元組。 最大位元組是由完整和高速端點的端點描述項所指定,而 SuperSpeed 端點的端點隨附描述項則指定。 如果呼叫端提交多個讀取要求以從裝置串流資料,則傳輸大小應該是每個間隔的最大位元組數 (的倍數,如 WinUsb_QueryPipeEx) * 8 / interval 所傳回。
由於基礎核心模式介面中使用的傳輸封裝,應用程式或驅動程式的最低延遲通知間隔為 1 毫秒。
規格需求
最低支援的用戶端 | Windows 8.1 |
最低支援的伺服器 | Windows Server 2012 R2 |
目標平台 | Universal |
標頭 | winusb.h (包含 Winusb.h) |
程式庫 | Winusb.lib |
Dll | Winusb.dll |