Partager via


SetupDiSetDeviceRegistryPropertyA, fonction (setupapi.h)

La fonction SetupDiSetDeviceRegistryProperty définit une propriété d’appareil Plug-and-Play pour un appareil.

Syntaxe

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

Paramètres

[in] DeviceInfoSet

Handle du jeu d’informations d’appareil qui contient un élément d’informations sur l’appareil qui représente l’appareil pour lequel définir une propriété d’appareil Plug-and-Play.

[in, out] DeviceInfoData

Pointeur vers une structure de SP_DEVINFO_DATA qui spécifie l’élément d’informations sur l’appareil dans DeviceInfoSet. Si la propriété ClassGuid est définie, DeviceInfoData.ClassGuid est défini lors du retour à la nouvelle classe pour l’appareil.

[in] Property

L’une des valeurs suivantes, qui identifie la propriété à définir. Pour obtenir une description de ces valeurs, consultez 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

Notes

SPDRP_HARDWAREID ou SPDRP_COMPATIBLEIDS ne peut être utilisé que lorsque DeviceInfoData représente un appareil énuméré par la racine. Pour les autres appareils, le pilote de bus signale le matériel et les ID compatibles lors de l’énumération d’un appareil enfant après avoir reçu IRP_MN_QUERY_ID.

Les valeurs suivantes sont réservées au système d’exploitation et ne peuvent pas être utilisées dans le paramètre 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

Pointeur vers une mémoire tampon qui contient les nouvelles données de la propriété . Si la propriété est en cours d’effacement, ce pointeur doit avoir la valeur NULL et PropertyBufferSize doit être égal à zéro.

[in] PropertyBufferSize

Taille, en octets, de PropertyBuffer. Si PropertyBuffer a la valeur NULL, ce champ doit être égal à zéro.

Valeur retournée

La fonction retourne TRUE si elle réussit. Sinon, elle retourne FALSE et l’erreur journalisée peut être récupérée avec un appel à GetLastError.

Remarques

L’appelant de cette fonction doit être membre du groupe Administrateurs.

La propriété nom de classe ne peut pas être définie, car elle est basée sur le GUID de classe correspondant et est automatiquement mise à jour lorsque cette propriété est modifiée. Lorsque la propriété ClassGUID change, SetupDiSetDeviceRegistryProperty nettoie automatiquement toutes les clés logicielles associées à l’appareil.

Notes

L’en-tête setupapi.h définit SetupDiSetDeviceRegistryProperty en tant qu’alias qui sélectionne automatiquement la version ANSI ou Unicode de cette fonction en fonction de la définition de la constante de préprocesseur UNICODE. La combinaison de l’utilisation de l’alias neutre en encodage avec du code qui n’est pas neutre en encodage peut entraîner des incompatibilités qui entraînent des erreurs de compilation ou d’exécution. Pour plus d’informations, consultez Conventions pour les prototypes de fonction.

Configuration requise

Condition requise Valeur
Client minimal pris en charge Disponible dans Microsoft Windows 2000 et versions ultérieures de Windows.
Plateforme cible Desktop (Expérience utilisateur)
En-tête setupapi.h (inclure Setupapi.h)
Bibliothèque Setupapi.lib

Voir aussi

SetupDiGetClassRegistryProperty

SetupDiGetDeviceRegistryProperty

SetupDiSetClassRegistryProperty