Función SetupDiSetClassPropertyW (setupapi.h)
La función SetupDiSetClassProperty establece una propiedad de clase para una clase de instalación de dispositivo o una clase de interfaz de dispositivo.
Sintaxis
WINSETUPAPI BOOL SetupDiSetClassPropertyW(
[in] const GUID *ClassGuid,
[in] const DEVPROPKEY *PropertyKey,
[in] DEVPROPTYPE PropertyType,
[in, optional] const PBYTE PropertyBuffer,
[in] DWORD PropertyBufferSize,
[in] DWORD Flags
);
Parámetros
[in] ClassGuid
Puntero a un GUID que identifica la clase de configuración del dispositivo o la clase de interfaz de dispositivo para la que se va a establecer una propiedad de dispositivo. Para obtener información sobre cómo especificar el tipo de clase, vea el parámetro Flags .
[in] PropertyKey
Puntero a una estructura DEVPROPKEY que representa la clave de propiedad del dispositivo de la propiedad de clase de dispositivo que se va a establecer.
[in] PropertyType
Valor con tipo DEVPROPTYPE que representa el identificador property-data-type para la propiedad de clase de dispositivo. 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 propiedad de la clase de dispositivo. Si se elimina la propiedad o los datos, este puntero debe establecerse en NULL y PropertyBufferSize debe establecerse en cero. Para obtener más información sobre los datos de propiedades, vea la sección Comentarios más adelante en este tema.
[in] PropertyBufferSize
Tamaño, en bytes, del búfer PropertyBuffer . Si PropertyBuffer se establece en NULL, PropertyBufferSize debe establecerse en cero.
[in] Flags
Uno de los siguientes valores, que especifica si la clase es una clase de configuración de dispositivo o una clase de interfaz de dispositivo:
DICLASSPROP_INSTALLER
ClassGuid especifica una clase de configuración de dispositivo. Esta marca no se puede usar con DICLASSPROP_INTERFACE.
DICLASSPROP_INTERFACE
ClassGuid especifica una clase de interfaz de dispositivo. Esta marca no se puede usar con DICLASSPROP_INSTALLER.
Valor devuelto
SetupDiSetClassProperty 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 |
---|---|
|
El valor de Flags no es válido. |
|
La clase de configuración del dispositivo especificada por ClassGuid no es válida. Este error solo puede producirse si se especifica la marca DICLASSPROP_INSTALLER. |
|
La cadena de referencia de la interfaz del dispositivo no es válida. Este error solo puede producirse si se especifica la marca DICLASSPROP_INTERFACE. |
|
La clave de propiedad proporcionada por PropertyKey no es válida. |
|
Un valor de datos interno no especificado no era válido. Este error se podría registrar si el valor ClassGuid no es un GUID válido o el valor de propiedad no es coherente con el tipo de propiedad especificado por PropertyType. |
|
Un búfer de usuario no es válido. Una posibilidad es que PropertyBuffer sea NULL y PropertyBufferSize no sea cero. |
|
La clase de interfaz de dispositivo especificada por ClassGuid no existe. Este error solo puede producirse si se especifica la marca DICLASSPROP_INTERFACE. |
|
Un búfer de datos interno que se pasó a una llamada del sistema era demasiado pequeño. |
|
No había suficiente memoria del sistema disponible para completar la operación. |
|
No se encontró un elemento no especificado. Una posibilidad es que la propiedad que se va a eliminar no existe. |
|
El autor de la llamada no tiene privilegios de administrador. |
Comentarios
SetupDiSetClassProperty forma parte del modelo de propiedades de dispositivo unificado.
SetupAPI solo admite una versión Unicode de SetupDiSetClassProperty.
Un llamador de SetupDiSetClassProperty debe ser miembro del grupo Administradores para establecer una propiedad de interfaz de dispositivo.
SetupDiSetClassProperty exige requisitos en el identificador property-data-type y el valor de la propiedad.
Para obtener las claves de propiedad del dispositivo que representan las propiedades del dispositivo que se establecen para una clase de dispositivo en un equipo local, llame a SetupDiGetClassPropertyKeys.
Para recuperar una propiedad de clase de dispositivo en un equipo local, llame a SetupDiGetClassProperty y para recuperar una propiedad de clase de dispositivo en un equipo remoto, llame a SetupDiGetClassPropertyEx.
Para establecer una propiedad de clase de dispositivo en un equipo remoto, llame a SetupDiSetClassPropertyEx.
Requisitos
Requisito | Value |
---|---|
Cliente mínimo compatible | Disponible en Windows Vista y versiones posteriores de Windows. |
Plataforma de destino | DesktopFor universal, call CM_Set_Class_Property |
Encabezado | setupapi.h (incluya Setupapi.h) |
Library | Setupapi.lib |