Partager via


Fonction SetupDiChangeState (setupapi.h)

La fonction SetupDiChangeState est le gestionnaire par défaut de la demande d’installation DIF_PROPERTYCHANGE .

Syntaxe

WINSETUPAPI BOOL SetupDiChangeState(
  [in]      HDEVINFO         DeviceInfoSet,
  [in, out] PSP_DEVINFO_DATA DeviceInfoData
);

Paramètres

[in] DeviceInfoSet

Handle d’un jeu d’informations d’appareil pour l’ordinateur local. Cet ensemble contient un élément d’informations sur l’appareil qui représente l’appareil dont l’état doit être modifié.

[in, out] DeviceInfoData

Pointeur vers une structure de SP_DEVINFO_DATA qui spécifie l’élément d’informations sur l’appareil dans DeviceInfoSet. Il s’agit d’un paramètre IN-OUT car DeviceInfoData.DevInst peut être mis à jour avec une nouvelle valeur de handle lors du retour.

Valeur retournée

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

Remarques

SetupDiChangeState modifie l’état d’un appareil installé.

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

Note Seul un programme d’installation de classe doit appeler SetupDiChangeState et uniquement dans les situations où le programme d’installation de classe doit effectuer des opérations de modification de propriété après que SetupDiChangeState a terminé l’opération de modification de propriété par défaut. Dans de telles situations, le programme d’installation de classe doit appeler directement SetupDiChangeState lorsque le programme d’installation traite une demande de DIF_PROPERTYCHANGE. Pour plus d’informations sur l’appel du gestionnaire par défaut, consultez Appel de gestionnaires de code DIF par défaut.
 
Les appelants de SetupDiChangeState doivent spécifier un indicateur DICS_XXX dans le SP_PROPCHANGE_PARAMS pour l’élément d’appareil qui indique le type de changement d’état à effectuer sur l’appareil. Les appelants de cette fonction doivent définir les champs appropriés dans le SP_PROPCHANGE_PARAMS et appeler SetupDiSetClassInstallParams avant d’appeler cette fonction.

Si vous spécifiez l’indicateur DICS_FLAG_CONFIGSPECIFIC dans le SP_PROPCHANGE_PARAMS, vous devez renseigner le champ HwProfile . La valeur zéro pour HwProfile indique le profil actuel.

Pour activer/désactiver un appareil dans le profil matériel actuel, définissez l’indicateur DICS_FLAG_CONFIGSPECIFIC dans le SP_PROPCHANGE_PARAMS. Pour activer/désactiver un appareil globalement, par exemple dans les profils matériels ancrés et non chaussés, définissez l’indicateur DICS_FLAG_GLOBAL.

Cette fonction effectue les opérations suivantes :

Les appelants de cette fonction ne doivent pas spécifier DICS_STOP ou DICS_START dans le SP_PROPCHANGE_PARAMS. Utilisez DICS_PROPCHANGE pour arrêter et redémarrer un appareil afin que les modifications de la configuration de l’appareil prennent effet.

Si DI_DONOTCALLCONFIGMG est défini pour un appareil, vous ne devez pas appeler SetupDiChangeState pour l’appareil, mais définir l’indicateur DI_NEEDREBOOT.

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
DLL Setupapi.dll
Ensemble d’API ext-ms-win-setupapi-classinstallers-l1-1-2 (introduit dans Windows 10, version 10.0.14393)

Voir aussi

DIF_PROPERTYCHANGE

SP_PROPCHANGE_PARAMS

SetupDiCallClassInstaller