Fonction DiShowUpdateDevice (newdev.h)
La fonction DiShowUpdateDevice affiche l’Assistant Mise à jour matérielle pour un appareil spécifié.
Syntaxe
BOOL DiShowUpdateDevice(
[in, optional] HWND hwndParent,
[in] HDEVINFO DeviceInfoSet,
[in] PSP_DEVINFO_DATA DeviceInfoData,
[in] DWORD Flags,
[out, optional] PBOOL NeedReboot
);
Paramètres
[in, optional] hwndParent
Handle vers la fenêtre de niveau supérieur que DiShowUpdateDevice utilise pour afficher tous les composants de l’interface utilisateur associés à la mise à jour de l’appareil spécifié. Ce paramètre est facultatif et peut être défini sur NULL.
[in] DeviceInfoSet
Handle du jeu d’informations sur l’appareil qui contient un élément d’informations sur l’appareil qui représente l’appareil pour lequel afficher l’Assistant Mise à jour matérielle.
[in] DeviceInfoData
Pointeur vers une structure de SP_DEVINFO_DATA qui représente l’appareil pour lequel afficher l’Assistant Mise à jour matérielle.
[in] Flags
Ce paramètre doit être défini sur zéro.
[out, optional] NeedReboot
Pointeur vers une valeur de type BOOL définie par DiShowUpdateDevice pour indiquer si un redémarrage du système est nécessaire pour terminer la mise à jour du pilote. Ce paramètre est facultatif et peut être NULL. Si le paramètre est fourni et qu’un redémarrage du système est nécessaire pour terminer la mise à jour du pilote, DiShowUpdateDevice définit la valeur sur TRUE. Dans ce cas, l’appelant doit inviter l’utilisateur à redémarrer le système. Si ce paramètre est fourni et qu’un redémarrage du système n’est pas nécessaire pour terminer l’installation, DiShowUpdateDevice définit la valeur sur FALSE. Si le paramètre a la valeur NULL et qu’un redémarrage du système est nécessaire pour terminer la mise à jour du pilote, DiShowUpdateDevice affiche une boîte de dialogue de redémarrage du système. Pour plus d’informations sur ce paramètre, consultez la section Remarques suivante.
Valeur retournée
DiShowUpdateDevice retourne TRUE si l’Assistant Mise à jour matérielle a correctement mis à jour le pilote pour l’appareil spécifié. Sinon, DiShowUpdateDevice retourne FALSE et l’erreur journalisée peut être récupérée en effectuant un appel à GetLastError. Voici quelques-unes des valeurs d’erreur les plus courantes que GetLastError peut retourner :
Code de retour | Description |
---|---|
|
L’appelant n’a pas de privilèges d’administrateur. Par défaut, Windows exige que le processus appelant dispose de privilèges d’administrateur pour mettre à jour un package de pilotes. |
|
L’utilisateur a annulé l’Assistant Mise à jour matérielle. |
|
L’application appelante est une application 32 bits qui tente de s’exécuter dans un environnement 64 bits, ce qui n’est pas autorisé. Pour plus d’informations, consultez Installation d’appareils sur des systèmes 64 bits. |
|
La valeur spécifiée pour Flags n’est pas égale à zéro. |
Remarques
DiShowUpdateDevice affiche l’Assistant Mise à jour matérielle pour le instance d’appareil spécifié. Pour plus d’informations sur la mise à jour des pilotes de périphérique à l’aide de l’Assistant Mise à jour matérielle, consultez Le Centre d’aide et de support.
En général, les applications d’installation doivent définir NeedReboot sur NULL afin que le système lance automatiquement un redémarrage du système si un redémarrage est nécessaire pour terminer une mise à jour matérielle. Une application doit fournir un pointeur NeedReboot uniquement dans les cas suivants :
- L’application d’installation doit appeler DiShowUpdateDevice plusieurs fois pour effectuer les mises à jour matérielles. Dans ce cas, l’application doit enregistrer si une valeur TRUENeedReboot est retournée par l’un des appels à DiShowUpdateDevice et, si c’est le cas, inviter l’utilisateur à redémarrer le système après le retour de l’appel final à DiShowUpdateDevice .
- L’application doit effectuer les opérations requises, autres que l’appel de DiShowUpdateDevice, avant qu’un redémarrage du système ne se produise. Si un redémarrage du système est requis, l’application doit terminer les opérations requises, puis inviter l’utilisateur à redémarrer le système.
Pour installer un nouveau pilote pour un appareil au lieu d’appeler l’Assistant Mise à jour matérielle, appelez DiInstallDriver ou UpdateDriverForPlugAndPlayDevices.
Configuration requise
Condition requise | Valeur |
---|---|
Client minimal pris en charge | Disponible dans Windows Vista et les versions plus récentes de Windows. |
Plateforme cible | Desktop (Expérience utilisateur) |
En-tête | newdev.h (include Newdev.h) |
Bibliothèque | Newdev.lib |
DLL | Newdev.dll |