Fonction SetupDiSetSelectedDriverW (setupapi.h)
La fonction SetupDiSetSelectedDriver définit ou réinitialise le pilote sélectionné pour un élément d’informations sur l’appareil ou le pilote de classe sélectionné pour un jeu d’informations de périphérique.
Syntaxe
WINSETUPAPI BOOL SetupDiSetSelectedDriverW(
[in] HDEVINFO DeviceInfoSet,
[in, out] PSP_DEVINFO_DATA DeviceInfoData,
[in, out] PSP_DRVINFO_DATA_W DriverInfoData
);
Paramètres
[in] DeviceInfoSet
Handle du jeu d’informations sur l’appareil qui contient la liste des pilotes à partir de laquelle sélectionner un pilote pour un élément d’informations sur l’appareil ou pour le jeu d’informations sur l’appareil.
[in, out] DeviceInfoData
Pointeur vers une structure de SP_DEVINFO_DATA qui spécifie l’élément d’informations sur l’appareil dans DeviceInfoSet. Ce paramètre est facultatif et peut être NULL. Si ce paramètre est spécifié, SetupDiSetSelectedDriver définit ou réinitialise le pilote sélectionné pour l’appareil spécifié. Si ce paramètre a la valeur NULL, SetupDiSetSelectedDriver définit ou réinitialise le pilote de classe sélectionné pour DeviceInfoSet.
[in, out] DriverInfoData
Pointeur vers une structure de SP_DRVINFO_DATA qui spécifie le pilote à sélectionner. Ce paramètre est facultatif et peut être NULL. Si ce paramètre et DeviceInfoData sont fournis, le pilote spécifié doit être membre d’une liste de pilotes associée à DeviceInfoData. Si ce paramètre est spécifié et que DeviceInfoData a la valeur NULL, le pilote doit être membre de la liste des pilotes de classe globale pour DeviceInfoSet. Si ce paramètre a la valeur NULL, le pilote sélectionné est réinitialisé pour l’élément d’informations sur l’appareil, si DeviceInfoData est spécifié, ou le jeu d’informations sur l’appareil, si DeviceInfoData a la valeur NULL.
Si driverInfoData.Réservé est NULL, l’appelant demande une recherche pour un nœud de pilote avec les paramètres spécifiés (DriverType, Description et ProviderName). Si une correspondance est trouvée, ce nœud de pilote est sélectionné. Le champ Réservé est mis à jour sur la sortie pour refléter le nœud de pilote réel où la correspondance a été trouvée. Si une correspondance est introuvable, la fonction échoue et un appel à GetLastError retourne ERROR_INVALID_PARAMETER.
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 avec un appel à GetLastError.
Remarques
Si l’appelant de SetupDiSetSelectedDriver est membre du groupe Administrateurs, la classe de l’appareil est définie sur la classe du pilote sélectionné, à condition que les deux classes soient différentes.
Si DriverInfoData a la valeur NULL, SetupDiSetSelectedDriver réinitialise le pilote sélectionné. Par conséquent, aucun pilote n’est sélectionné.
Notes
L’en-tête setupapi.h définit SetupDiSetSelectedDriver comme un 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.
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 |