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 de l’ensemble d’informations de l’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 SP_DEVINFO_DATA qui spécifie l’élément d’informations d’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

Une des valeurs suivantes, qui identifie la propriété à définir. Pour obtenir des descriptions 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

Note

SPDRP_HARDWAREID ou SPDRP_COMPATIBLEIDS ne peut être utilisé que lorsque DeviceInfoData représente un appareil énuméré racine. Pour d’autres appareils, le pilote bus signale du matériel et des 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 pour une utilisation par le 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 effacée, ce pointeur doit être NULL et PropertyBufferSize doit être égal à zéro.

[in] PropertyBufferSize

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

Valeur de retour

La fonction retourne TRUE si elle réussit. Sinon, elle retourne FAUX 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 les clés logicielles associées à l’appareil.

Note

L’en-tête setupapi.h définit SetupDiSetDeviceRegistryProperty comme 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. Le mélange 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.

Exigences

Exigence Valeur
client minimum pris en charge Disponible dans Microsoft Windows 2000 et versions ultérieures de Windows.
plateforme cible Bureau
d’en-tête setupapi.h (include Setupapi.h)
bibliothèque Setupapi.lib

Voir aussi

SetupDiGetClassRegistryProperty

SetupDiGetDeviceRegistryProperty

SetupDiSetClassRegistryProperty