Partager via


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
ERROR_ACCESS_DENIED
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.
ERROR_CANCELLED
L’utilisateur a annulé l’Assistant Mise à jour matérielle.
ERROR_IN_WOW64
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.
ERROR_INVALID_FLAGS
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 restaurer un pilote pour un appareil au lieu d’appeler l’Assistant Mise à jour matérielle, appelez DiRollbackDriver.

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

Voir aussi

DiInstallDriver

DiRollbackDriver

UpdateDriverForPlugAndPlayDevices