Compartir a través de


Función SetupDiSetDeviceRegistryPropertyA (setupapi.h)

La función SetupDiSetDeviceRegistryProperty establece una propiedad de dispositivo Plug and Play para un dispositivo.

Sintaxis

WINSETUPAPI BOOL SetupDiSetDeviceRegistryPropertyA(
  [in]           HDEVINFO         DeviceInfoSet,
  [in, out]      PSP_DEVINFO_DATA DeviceInfoData,
  [in]           DWORD            Property,
  [in, optional] const BYTE       *PropertyBuffer,
  [in]           DWORD            PropertyBufferSize
);

Parámetros

[in] DeviceInfoSet

Identificador del conjunto de información del dispositivo que contiene un elemento de información del dispositivo que representa el dispositivo para el que se va a establecer una propiedad de dispositivo Plug and Play.

[in, out] DeviceInfoData

Puntero a una estructura de SP_DEVINFO_DATA que especifica el elemento de información del dispositivo en DeviceInfoSet. Si se establece la propiedad ClassGuid , DeviceInfoData.ClassGuid se establece al volver a la nueva clase para el dispositivo.

[in] Property

Uno de los siguientes valores, que identifica la propiedad que se va a establecer. Para obtener descripciones de estos valores, consulte SetupDiGetDeviceRegistryProperty.

  • SPDRP_CONFIGFLAGS
  • SPDRP_EXCLUSIVE
  • SPDRP_FRIENDLYNAME
  • SPDRP_LOCATION_INFORMATION
  • SPDRP_LOWERFILTERS
  • SPDRP_REMOVAL_POLICY_OVERRIDE
  • SPDRP_SECURITY
  • SPDRP_SECURITY_SDS
  • SPDRP_UI_NUMBER_DESC_FORMAT
  • SPDRP_UPPERFILTERS

Nota

SPDRP_HARDWAREID o SPDRP_COMPATIBLEIDS solo se pueden usar cuando DeviceInfoData representa un dispositivo enumerado en raíz. En el caso de otros dispositivos, el controlador de bus notifica los identificadores de hardware y compatibles al enumerar un dispositivo secundario después de recibir IRP_MN_QUERY_ID.

Los valores siguientes están reservados para su uso por el sistema operativo y no se pueden usar en el parámetro Property :

  • SPDRP_ADDRESS
  • SPDRP_BUSNUMBER
  • SPDRP_BUSTYPEGUID
  • SPDRP_CHARACTERISTICS
  • SPDRP_CAPABILITIES
  • SPDRP_CLASS
  • SPDRP_CLASSGUID
  • SPDRP_DEVICE_POWER_DATA
  • SPDRP_DEVICEDESC
  • SPDRP_DEVTYPE
  • SPDRP_DRIVER
  • SPDRP_ENUMERATOR_NAME
  • SPDRP_INSTALL_STATE
  • SPDRP_LEGACYBUSTYPE
  • SPDRP_LOCATION_PATHS
  • SPDRP_MFG
  • SPDRP_PHYSICAL_DEVICE_OBJECT_NAME
  • SPDRP_REMOVAL_POLICY
  • SPDRP_REMOVAL_POLICY_HW_DEFAULT
  • SPDRP_SERVICE
  • SPDRP_UI_NUMBER

[in, optional] PropertyBuffer

Puntero a un búfer que contiene los nuevos datos de la propiedad. Si se borra la propiedad , este puntero debe ser NULL y PropertyBufferSize debe ser cero.

[in] PropertyBufferSize

Tamaño, en bytes, de PropertyBuffer. Si PropertyBuffer es NULL, este campo debe ser cero.

Valor devuelto

La función devuelve TRUE si se realiza correctamente. De lo contrario, devuelve FALSE y el error registrado se puede recuperar con una llamada a GetLastError.

Comentarios

El autor de la llamada de esta función debe ser miembro del grupo Administradores.

No se puede establecer la propiedad de nombre de clase porque se basa en el GUID de clase correspondiente y se actualiza automáticamente cuando se cambia esa propiedad. Cuando cambia la propiedad ClassGUID, SetupDiSetDeviceRegistryProperty limpia automáticamente las claves de software asociadas al dispositivo.

Nota

El encabezado setupapi.h define SetupDiSetDeviceRegistryProperty como alias que selecciona automáticamente la versión ANSI o Unicode de esta función en función de la definición de la constante de preprocesador UNICODE. La combinación del uso del alias neutro de codificación con código que no es neutral de codificación puede provocar discrepancias que dan lugar a errores de compilación o en tiempo de ejecución. Para obtener más información, vea Convenciones para prototipos de función.

Requisitos

Requisito Value
Cliente mínimo compatible Disponible en Microsoft Windows 2000 y versiones posteriores de Windows.
Plataforma de destino Escritorio
Encabezado setupapi.h (incluya Setupapi.h)
Library Setupapi.lib

Consulte también

SetupDiGetClassRegistryProperty

SetupDiGetDeviceRegistryProperty

SetupDiSetClassRegistryProperty