Partager via


SetupDiSetDevicePropertyW, fonction (setupapi.h)

La fonction SetupDiSetDeviceProperty définit une propriété de instance d’appareil.

Syntaxe

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
);

Paramètres

[in] DeviceInfoSet

Handle pour un jeu d’informations d’appareil. Ce jeu d’informations sur l’appareil contient un élément d’informations sur l’appareil qui représente le instance d’appareil pour lequel définir une propriété de instance d’appareil.

[in] DeviceInfoData

Pointeur vers la structure de SP_DEVINFO_DATA qui identifie le instance d’appareil pour lequel définir une propriété de instance d’appareil.

[in] PropertyKey

Pointeur vers une structure DEVPROPKEY qui représente la clé de propriété de l’appareil instance propriété à définir.

[in] PropertyType

Valeur de type DEVPROPTYPE qui représente l’identificateur de type de données de la propriété de l’appareil instance propriété. Pour plus d’informations, consultez la section Remarques plus loin dans cette rubrique.

[in, optional] PropertyBuffer

Pointeur vers une mémoire tampon qui contient l’appareil instance valeur de propriété. Si la propriété est supprimée ou définie sur une valeur NULL , ce pointeur doit être NULL et PropertyBufferSize doit avoir la valeur zéro.

[in] PropertyBufferSize

Taille, en octets, de la mémoire tampon PropertyBuffer . Si PropertyBuffer a la valeur NULL, PropertyBufferSize doit être défini sur zéro.

[in] Flags

Ce paramètre doit être défini sur 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 en appelant GetLastError.

Le tableau suivant inclut certains des codes d’erreur les plus courants que cette fonction peut enregistrer.

Code de retour Description
ERROR_INVALID_FLAGS
La valeur des indicateurs n’est pas égale à zéro.
ERROR_INVALID_HANDLE
Le jeu d’informations sur l’appareil spécifié par DevInfoSet n’est pas valide.
ERROR_INVALID_PARAMETER
Un paramètre fourni n’est pas valide. Il est possible que l’élément d’informations de l’appareil ne soit pas valide.
ERROR_INVALID_REG_PROPERTY
La clé de propriété fournie par PropertyKey n’est pas valide ou la propriété n’est pas accessible en écriture.
ERROR_INVALID_DATA
L’identificateur de type de données de propriété fourni par PropertyType, ou la valeur de propriété fournie par PropertyBuffer, n’est pas valide.
ERROR_INVALID_USER_BUFFER
Une mémoire tampon utilisateur n’est pas valide. Une possibilité est que PropertyBuffer a la valeur NULL, et PropertyBufferSize n’est pas zéro.
ERROR_NO_SUCH_DEVINST
Le instance d’appareil spécifié par DevInfoData n’existe pas.
ERROR_INSUFFICIENT_BUFFER
Une mémoire tampon de données interne qui a été passée à un appel système était trop petite.
ERROR_NOT_ENOUGH_MEMORY
La mémoire système disponible était insuffisante pour terminer l’opération.
ERROR_NOT_FOUND
Un élément interne non spécifié est introuvable. Il est possible que la propriété à supprimer n’existe pas.
ERROR_ACCESS_DENIED
L’appelant n’a pas de privilèges d’administrateur.

Remarques

SetupDiSetDeviceProperty fait partie du modèle de propriété d’appareil unifié.

SetupAPI prend uniquement en charge une version Unicode de SetupDiSetDeviceProperty.

Un appelant de SetupDiSetDeviceProperty doit être membre du groupe Administrateurs pour définir un appareil instance propriété.

SetupDiSetDeviceProperty applique les exigences sur l’identificateur de type de données de propriété et la valeur de la propriété.

Pour obtenir les clés de propriété de l’appareil instance propriétés d’appareil définies pour un appareil, appelez SetupDiGetDevicePropertyKeys.

Pour récupérer une propriété de instance d’appareil, appelez SetupDiGetDeviceProperty.

Configuration requise

   
Client minimal pris en charge Disponible dans Windows Vista et les versions plus récentes de Windows.
Plateforme cible DesktopPour universel, appelez CM_Set_DevNode_Property
En-tête setupapi.h (inclure Setupapi.h)
Bibliothèque Setupapi.lib

Voir aussi

SetupDiGetDeviceProperty

SetupDiGetDevicePropertyKeys