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

另請參閱

從 WinUSB 傳統型應用程式傳送 USB 同步傳輸

WinUSB 函式