WinUsb_SetPipePolicy 函数 (winusb.h)
WinUsb_SetPipePolicy 函数为与设备上的终结点关联的特定管道设置策略。 这是一个同步操作。
语法
BOOL WinUsb_SetPipePolicy(
[in] WINUSB_INTERFACE_HANDLE InterfaceHandle,
[in] UCHAR PipeID,
[in] ULONG PolicyType,
[in] ULONG ValueLength,
[in] PVOID Value
);
参数
[in] InterfaceHandle
接口的不透明句柄,该接口包含与管道关联的终结点。
若要在第一个接口中为与终结点关联的管道设置策略,请使用 WinUsb_Initialize返回的句柄。 对于所有其他接口,请使用WinUsb_GetAssociatedInterface检索的目标接口的句柄。
[in] PipeID
由 7 位地址和方向位组成的 8 位值。 此参数对应于终结点描述符中的 bEndpointAddress 字段。
[in] PolicyType
指定要更改的策略参数的 ULONG 变量。 Value 参数包含 winusbio.h 中定义的策略参数的新值。 有关如何使用每个管道策略和结果行为的信息,请参阅 用于管道策略修改的 WinUSB 函数。
[in] ValueLength
Value 处缓冲区的大小(以字节 为单位)。
[in] Value
PolicyType 指定的策略参数的新值。 此输入参数的大小取决于要更改的策略。 有关此参数大小的信息,请参阅 PolicyType 参数的说明。
返回值
如果操作成功,WinUsb_SetPipePolicy返回 TRUE。 否则,此函数返回 FALSE,调用方可以通过调用 GetLastError 检索记录的错误。
GetLastError 可能会返回以下错误代码。
返回代码 | 说明 |
---|---|
|
调用 方在InterfaceHandle 参数中传递 NULL。 |
|
调用方为 ValueLength 参数中的策略参数缓冲区传递了无效大小。 |
|
指示内存不足,无法执行操作。 |
要求
目标平台 | 通用 |
标头 | winusb.h (包括 Winusb.h) |
Library | Winusb.lib |
DLL | Winusb.dll |