共用方式為


WinUsb_ReadIsochPipe函式 (winusb.h)

WinUsb_ReadIsochPipe函式會從不時點 IN 端點讀取數據。

語法

BOOL WinUsb_ReadIsochPipe(
  [in]           WINUSB_ISOCH_BUFFER_HANDLE  BufferHandle,
  [in]           ULONG                       Offset,
  [in]           ULONG                       Length,
  [in, out]      PULONG                      FrameNumber,
  [in]           ULONG                       NumberOfPackets,
  [out]          PUSBD_ISO_PACKET_DESCRIPTOR IsoPacketDescriptors,
  [in, optional] LPOVERLAPPED                Overlapped
);

參數

[in] BufferHandle

先前呼叫 WinUsb_RegisterIsochBuffer所註冊之傳輸緩衝區的不透明句柄。

[in] Offset

相對於開始傳輸的緩衝區位移。

[in] Length

傳輸緩衝區的位元組長度。

[in, out] FrameNumber

在輸入時,表示傳輸的起始畫面編號。 在輸出中,包含傳輸中最後一個畫面後面所使用框架的框架編號。

[in] NumberOfPackets

保存傳輸緩衝區所需的等時封包總數。 也表示 IsoPacketDescriptors 指向之陣列中的項目數目。

[out] IsoPacketDescriptors

USBD_ISO_PACKET_DESCRIPTOR 結構的陣列。 傳輸完成之後,每個元素都包含等時封包的狀態和大小。

[in, optional] Overlapped

用於異步操作之 重疊 結構的指標。

傳回值

如果作業成功,WinUsb_ReadIsochPipe會傳回 TRUE。 否則,此函式會傳回 FALSE,而且呼叫端可以呼叫 GetLastError 來擷取記錄的錯誤。

備註

WinUsb_ReadIsochPipe 封包處理傳輸緩衝區,以便在每 1 毫秒間隔內,主機可以接收每個間隔允許的最大位元組。 最大位元組是由完整和高速端點的端點描述項所指定,而 SuperSpeed 端點的端點隨附描述項則指定。 如果呼叫端提交多個讀取要求以從裝置串流數據,則傳輸大小應該是每個間隔的最大位元組數 (的倍數,如 WinUsb_QueryPipeEx) * 8 / interval 所傳回。

由於基礎核心模式介面中使用的傳輸封裝,應用程式或驅動程式的最低延遲通知間隔為 1 毫秒。

規格需求

需求
最低支援的用戶端 Windows 8.1
最低支援的伺服器 Windows Server 2012 R2
目標平台 Universal
標頭 winusb.h (包含 Winusb.h)
程式庫 Winusb.lib
Dll Winusb.dll

另請參閱

從 WinUSB 傳統型應用程式傳送 USB 時序傳輸

WinUSB 函式