WinUsb_RegisterIsochBuffer 函数 (winusb.h)

WinUsb_RegisterIsochBuffer 函数注册要用于等时等时传输的缓冲区。

语法

BOOL WinUsb_RegisterIsochBuffer(
  [in]  WINUSB_INTERFACE_HANDLE     InterfaceHandle,
  [in]  UCHAR                       PipeID,
  [in]  PUCHAR                      Buffer,
  [in]  ULONG                       BufferLength,
  [out] PWINUSB_ISOCH_BUFFER_HANDLE IsochBufferHandle
);

参数

[in] InterfaceHandle

所选配置中接口的不透明句柄。 该句柄必须由先前调用 WinUsb_InitializeWinUsb_GetAssociatedInterface 创建。

[in] PipeID

派生自终结点描述符中 bEndpointAddress 字段的位 3...0。

[in] Buffer

指向要注册的传输缓冲区的指针。

[in] BufferLength

缓冲区指向的传输缓冲区的长度(以字节为单位)。

[out] IsochBufferHandle

接收已注册缓冲区的不透明句柄。 执行常量传输的其他 WinUSB 函数需要此句柄。 若要释放句柄,请调用 WinUsb_UnregisterIsochBuffer 函数。

返回值

如果操作成功,WinUsb_RegisterIsochBuffer返回 TRUE。 否则,此函数返回 FALSE,调用方可以通过调用 GetLastError 检索记录的错误。

如果调用方将 ContinueStream 设置为 TRUE,则如果 Winusb.sys 无法计划传输以在不删除一个或多个帧的情况下继续流,则传输将失败。

注解

在向缓冲区发起或从缓冲区发起常时等量传输之前,调用方必须使用 WinUsb_RegisterIsochBuffer 注册缓冲区。 此调用允许 Winusb.sys 预先映射缓冲区,并在之后锁定缓冲区,以便使用 缓冲区进行所有后续传输。

要求

要求
最低受支持的客户端 Windows 8.1
最低受支持的服务器 Windows Server 2012 R2
目标平台 通用
标头 winusb.h (包括 Winusb.h)
Library Winusb.lib
DLL Winusb.dll

另请参阅

发送来自 UWP 桌面应用的 USB 常时等量传输

WinUSB 函数

WinUsb_UnregisterIsochBuffer