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_Initialize 或 WinUsb_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 |