Función SetupDiSetDeviceInterfacePropertyW (setupapi.h)

La función SetupDiSetDeviceInterfaceProperty establece una propiedad de dispositivo de una interfaz de dispositivo.

Sintaxis

WINSETUPAPI BOOL SetupDiSetDeviceInterfacePropertyW(
  [in]           HDEVINFO                  DeviceInfoSet,
  [in]           PSP_DEVICE_INTERFACE_DATA DeviceInterfaceData,
  [in]           const DEVPROPKEY          *PropertyKey,
  [in]           DEVPROPTYPE               PropertyType,
  [in, optional] const PBYTE               PropertyBuffer,
  [in]           DWORD                     PropertyBufferSize,
  [in]           DWORD                     Flags
);

Parámetros

[in] DeviceInfoSet

Identificador de un conjunto de información de dispositivo que contiene la interfaz de dispositivo para la que se va a establecer una propiedad de interfaz de dispositivo.

[in] DeviceInterfaceData

Puntero a una estructura SP_DEVICE_INTERFACE_DATA que representa la interfaz de dispositivo para la que se va a establecer una propiedad de interfaz de dispositivo.

[in] PropertyKey

Puntero a una estructura DEVPROPKEY que representa la clave de propiedad del dispositivo de la propiedad de interfaz de dispositivo que se va a establecer.

[in] PropertyType

Valor con tipo DEVPROPTYPE que representa el identificador property-data-type de la propiedad de interfaz de dispositivo que se va a establecer. Para obtener más información sobre el identificador property-data-type, vea la sección Comentarios más adelante en este tema.

[in, optional] PropertyBuffer

Puntero a un búfer que contiene el valor de la propiedad de la interfaz de dispositivo. Si se elimina la propiedad o el valor de la interfaz, este puntero debe establecerse en NULL y PropertyBufferSize debe establecerse en cero. Para obtener más información sobre los datos de valor de propiedad, vea la sección Comentarios más adelante en este tema.

[in] PropertyBufferSize

Tamaño, en bytes, del búfer PropertyBuffer . El tamaño del búfer de propiedades debe ser coherente con el identificador property-data-type proporcionado por PropertyType. Si PropertyBuffer está establecido en NULL, PropertyBufferSize debe establecerse en cero.

[in] Flags

Debe establecerse en cero.

Valor devuelto

SetupDiSetDeviceInterfaceProperty devuelve TRUE si se realiza correctamente. De lo contrario, esta función devuelve FALSE y el error registrado se puede recuperar llamando a GetLastError.

En la tabla siguiente se incluyen algunos de los códigos de error más comunes que esta función podría registrar.

Código devuelto Descripción
ERROR_INVALID_FLAGS
El valor de Flags no es cero.
ERROR_INVALID_HANDLE
El conjunto de información del dispositivo especificado por DevInfoSet no es válido.
ERROR_INVALID_PARAMETER
Un parámetro proporcionado no es válido. Una posibilidad es que la interfaz de dispositivo especificada por DeviceInterfaceData no sea válida.
ERROR_INVALID_REG_PROPERTY
La clave de propiedad proporcionada por PropertyKey no es válida.
ERROR_INVALID_DATA
Un valor de datos no especificado no era válido. Este error se puede registrar si el nombre del vínculo simbólico de la interfaz del dispositivo no es válido o el identificador de tipo de datos de propiedad no es válido.
ERROR_INVALID_USER_BUFFER
Un búfer de usuario no es válido. Una posibilidad es que PropertyBuffer sea NULL y PropertBufferSize no sea cero.
ERROR_NO_SUCH_DEVICE_INTERFACE
La interfaz de dispositivo especificada por DeviceInterfaceData no existe.
ERROR_INSUFFICIENT_BUFFER
Un búfer de datos interno que se pasó a una llamada del sistema era demasiado pequeño.
ERROR_NOT_ENOUGH_MEMORY
No había suficiente memoria del sistema disponible para completar la operación.
ERROR_NOT_FOUND
No se encontró un elemento interno no especificado. Una posibilidad es que no exista una propiedad que se va a eliminar.
ERROR_ACCESS_DENIED
El autor de la llamada no tiene privilegios de administrador.

Comentarios

SetupDiSetDeviceInterfaceProperty forma parte del modelo de propiedades de dispositivo unificado.

SetupAPI solo admite una versión Unicode de SetupDiSetDeviceInterfaceProperty.

Un autor de llamada de SetupDiSetDeviceInterfaceProperty debe ser miembro del grupo Administradores para establecer una propiedad de interfaz de dispositivo.

SetupDiSetDeviceInterfaceProperty exige requisitos en el identificador property-data-type y el valor de propiedad.

Para obtener las claves de propiedad del dispositivo que representan las propiedades del dispositivo que se establecen para una interfaz de dispositivo, llame a SetupDiGetDeviceInterfacePropertyKeys.

Para recuperar una propiedad de interfaz de dispositivo, llame a SetupDiGetDeviceInterfaceProperty.

Requisitos

   
Cliente mínimo compatible Disponible en Windows Vista y versiones posteriores de Windows.
Plataforma de destino DesktopFor universal, call CM_Set_Device_Interface_Property
Encabezado setupapi.h (incluya Setupapi.h)
Library Setupapi.lib

Consulte también

SetupDiGetDeviceInterfaceProperty

SetupDiGetDeviceInterfacePropertyKeys