Share via


función WinUsb_SetPipePolicy (winusb.h)

La función WinUsb_SetPipePolicy establece la directiva para una canalización específica asociada a un punto de conexión en el dispositivo. Se trata de una operación sincrónica.

Sintaxis

BOOL WinUsb_SetPipePolicy(
  [in] WINUSB_INTERFACE_HANDLE InterfaceHandle,
  [in] UCHAR                   PipeID,
  [in] ULONG                   PolicyType,
  [in] ULONG                   ValueLength,
  [in] PVOID                   Value
);

Parámetros

[in] InterfaceHandle

Identificador opaco de una interfaz que contiene el punto de conexión con el que está asociada la canalización.

Para establecer la directiva de la canalización asociada al punto de conexión en la primera interfaz, use el identificador devuelto por WinUsb_Initialize. Para todas las demás interfaces, use el identificador para la interfaz de destino, recuperada por WinUsb_GetAssociatedInterface.

[in] PipeID

Valor de 8 bits que consta de una dirección de 7 bits y un bit de dirección. Este parámetro corresponde al campo bEndpointAddress en el descriptor de punto de conexión.

[in] PolicyType

Variable ULONG que especifica el parámetro de directiva que se va a cambiar. El parámetro Value contiene el nuevo valor para el parámetro de directiva, definido en winusbio.h. Para obtener información sobre cómo usar cada una de las directivas de canalización y el comportamiento resultante, consulte Funciones de WinUSB para la modificación de la directiva de canalización.

[in] ValueLength

Tamaño, en bytes, del búfer en Valor.

[in] Value

Nuevo valor para el parámetro de directiva que especifica PolicyType . El tamaño de este parámetro de entrada depende de la directiva que se va a cambiar. Para obtener información sobre el tamaño de este parámetro, vea la descripción del parámetro PolicyType .

Valor devuelto

WinUsb_SetPipePolicy devuelve TRUE si la operación se realiza correctamente. De lo contrario, esta función devuelve FALSE y el autor de la llamada puede recuperar el error registrado llamando a GetLastError.

GetLastError puede devolver el siguiente código de error.

Código devuelto Descripción
ERROR_INVALID_HANDLE
El llamador pasó NULL en el parámetro InterfaceHandle .
ERROR_INVALID_PARAMETER
El llamador pasó un tamaño no válido para el búfer de parámetros de directiva en el parámetro ValueLength .
ERROR_NOT_ENOUGH_MEMORY
Indica que no hay memoria suficiente para realizar la operación.

Requisitos

   
Plataforma de destino Universal
Encabezado winusb.h (incluya Winusb.h)
Library Winusb.lib
Archivo DLL Winusb.dll

Consulte también

WinUSB

Funciones winUSB

Funciones de WinUSB para la modificación de la directiva de canalización

WinUsb_GetPipePolicy

WinUsb_Initialize