WinUsb_WriteIsochPipeAsap函式 (winusb.h)
WinUsb_WriteIsochPipeAsap會提交要求,以將緩衝區的內容寫入到連續的 OUT 端點。
語法
BOOL WinUsb_WriteIsochPipeAsap(
[in] WINUSB_ISOCH_BUFFER_HANDLE BufferHandle,
[in] ULONG Offset,
[in] ULONG Length,
[in] BOOL ContinueStream,
[in, optional] LPOVERLAPPED Overlapped
);
參數
[in] BufferHandle
先前呼叫 WinUsb_RegisterIsochBuffer 所註冊之傳輸緩衝區的不透明句柄。
[in] Offset
相對於開始傳輸的緩衝區位移。
[in] Length
傳輸緩衝區的位元組長度。
[in] ContinueStream
表示只有在最後一個暫止傳輸之後的第一個框架中可以排程傳輸時,才會送出傳輸。
[in, optional] Overlapped
用於異步操作之 重疊 結構的指標。
傳回值
如果 作業成功,WinUsb_WriteIsochPipeAsap傳回 TRUE。 否則,此函式會傳回 FALSE,而且呼叫端可以藉由呼叫 GetLastError 來擷取記錄的錯誤。
如果呼叫端將 ContinueStream 設定為 TRUE,則如果 Winusb.sys 無法排程傳輸以繼續數據流,而不需要卸載一或多個畫面格,則傳輸會失敗。
備註
WinUsb_WriteIsochPipeAsap 可讓 USB 驅動程式堆疊選擇傳輸的起始畫面編號。 如果端點上已經有一或多個傳輸擱置中,則會在最後一個目前擱置傳輸的最後一個畫面編號之後,立即排程傳輸的畫面編號。
WinUsb_WriteIsochPipeAsap 封包處理傳輸緩衝區,以便在每 1 毫秒的間隔中,主機可以傳送每個間隔允許的最大位元組。 最大位元組是由完整和高速端點的端點描述元所指定,以及 SuperSpeed 端點的端點隨附描述元。 如果呼叫端提交多個寫入要求以將數據串流處理至裝置,則傳輸大小應該是每個間隔的位元組上限 (的倍數,如 WinUsb_QueryPipeEx) * 8 / 間隔所傳回。
由於基礎核心模式介面中使用的傳輸封裝,應用程式或驅動程式的最低延遲通知是1毫秒的間隔。
規格需求
需求 | 值 |
---|---|
最低支援的用戶端 | Windows 8.1 |
最低支援的伺服器 | Windows Server 2012 R2 |
目標平台 | Universal |
標頭 | winusb.h (包含 Winusb.h) |
程式庫 | Winusb.lib |
Dll | Winusb.dll |