функция 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

8-разрядное значение, состоящее из 7-разрядного адреса и бита направления. Этот параметр соответствует полю bEndpointAddress в дескрипторе конечной точки.

[in] PolicyType

Переменная ULONG , указывающая параметр политики для изменения. Параметр Value содержит новое значение для параметра политики, определенное в winusbio.h. Сведения об использовании каждой из политик канала и результирующего поведения см. в разделе Функции WinUSB для изменения политики канала.

[in] ValueLength

Размер буфера в байтах в значении.

[in] Value

Новое значение параметра политики, заданного PolicyType . Размер этого входного параметра зависит от политики, изменяемой. Сведения о размере этого параметра см. в описании параметра PolicyType .

Возвращаемое значение

WinUsb_SetPipePolicy возвращает значение TRUE , если операция выполнена успешно. В противном случае эта функция возвращает значение FALSE, и вызывающий объект может получить зарегистрированную ошибку, вызвав Метод GetLastError.

GetLastError может вернуть следующий код ошибки.

Код возврата Описание
ERROR_INVALID_HANDLE
Вызывающий объект передал значение NULL в параметре InterfaceHandle .
ERROR_INVALID_PARAMETER
Вызывающий объект передал недопустимый размер буфера параметров политики в параметре ValueLength .
ERROR_NOT_ENOUGH_MEMORY
Указывает, что для выполнения операции недостаточно памяти.

Требования

   
Целевая платформа Универсальное
Верхняя часть winusb.h (включая Winusb.h)
Библиотека Winusb.lib
DLL Winusb.dll

См. также раздел

WinUSB

Функции WinUSB

Функции WinUSB для изменения политики канала

WinUsb_GetPipePolicy

WinUsb_Initialize