Función SetupDiSetDevicePropertyW (setupapi.h)

La función SetupDiSetDeviceProperty establece una propiedad de instancia de dispositivo.

Sintaxis

WINSETUPAPI BOOL SetupDiSetDevicePropertyW(
  [in]           HDEVINFO         DeviceInfoSet,
  [in]           PSP_DEVINFO_DATA DeviceInfoData,
  [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. Este conjunto de información de dispositivo contiene un elemento de información de dispositivo que representa la instancia de dispositivo para la que se va a establecer una propiedad de instancia de dispositivo.

[in] DeviceInfoData

Puntero a la estructura SP_DEVINFO_DATA que identifica la instancia de dispositivo para la que se va a establecer una propiedad de instancia de dispositivo.

[in] PropertyKey

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

[in] PropertyType

Valor con tipo DEVPROPTYPE que representa el identificador property-data-type para la propiedad de instancia del dispositivo. Para obtener más información, 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 instancia de dispositivo. Si la propiedad se elimina o se establece en un valor NULL , este puntero debe ser NULL y PropertyBufferSize debe establecerse en cero.

[in] PropertyBufferSize

Tamaño, en bytes, del búfer PropertyBuffer . Si PropertyBuffer es NULL, PropertyBufferSize debe establecerse en cero.

[in] Flags

Este parámetro debe establecerse en cero.

Valor devuelto

La función devuelve TRUE si se realiza correctamente. De lo contrario, 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 el elemento de información del dispositivo no sea válido.
ERROR_INVALID_REG_PROPERTY
La clave de propiedad proporcionada por PropertyKey no es válida o la propiedad no se puede escribir.
ERROR_INVALID_DATA
El identificador property-data-type proporcionado por PropertyType, o el valor de propiedad proporcionado por PropertyBuffer, 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 PropertyBufferSize no sea cero.
ERROR_NO_SUCH_DEVINST
La instancia de dispositivo especificada por DevInfoData 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 la propiedad que se va a eliminar no existe.
ERROR_ACCESS_DENIED
El autor de la llamada no tiene privilegios de administrador.

Comentarios

SetupDiSetDeviceProperty forma parte del modelo de propiedades de dispositivo unificado.

SetupAPI solo admite una versión Unicode de SetupDiSetDeviceProperty.

Un llamador de SetupDiSetDeviceProperty debe ser miembro del grupo Administradores para establecer una propiedad de instancia de dispositivo.

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

Para obtener las claves de propiedad del dispositivo de la instancia que se establecen para un dispositivo, llame a SetupDiGetDevicePropertyKeys.

Para recuperar una propiedad de instancia de dispositivo, llame a SetupDiGetDeviceProperty.

Requisitos

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

Consulte también

SetupDiGetDeviceProperty

SetupDiGetDevicePropertyKeys