Share via


DIF_FIRSTTIMESETUP

Ce code DIF est réservé à l’utilisation du système. Les programmes d’installation fournis par le fournisseur ne doivent pas gérer cette demande, sauf si le fournisseur fournit des appareils non PnP qui doivent être détectés par le programme d’installation.

Une demande de DIF_FIRSTTIMESETUP indique à un programme d’installation d’effectuer toutes les tâches d’installation spécifiques à la classe qui doivent être effectuées lors de l’installation initiale du système d’exploitation.

Date d’envoi

Pendant la configuration du mode GUI.

Qui gère

Co-programme d’installation de classe

Peut gérer

Co-programme d’installation d’appareil

Ne gère pas

Programme d’installation de classe

Peut gérer

Entrée du programme d’installation

DeviceInfoSet
Fournit un handle au jeu d’informations de l’appareil. Une classe de configuration d’appareil est associée à DeviceInfoSet.

DeviceInfoData
None

Paramètres d’installation de l’appareil
Des paramètres d’installation d’appareil (SP_DEVINSTALL_PARAMS) sont associés à DeviceInfoSet.

Paramètres d’installation de classe
None

Sortie du programme d’installation

DeviceInfoSet
Un programme d’installation ajoute un élément d’informations sur l’appareil au DeviceInfoSet pour chaque appareil détecté qu’il souhaite installer. Un programme d’installation peut également générer une liste de pilotes de classe globale.

Paramètres d’installation de l’appareil
Un programme d’installation peut modifier les paramètres d’installation de l’appareil pour deviceInfoSet ou pour les nouveaux éléments d’informations sur l’appareil qu’il crée.

Valeur de retour du programme d’installation

Un co-programme d’installation de classe peut détecter les appareils pendant le prétraitement ou le post-traitement. Un tel co-programme d’installation retourne ERROR_DI_POSTPROCESSING_REQUIRED (pour le post-traitement) et/ou retourne NO_ERROR ou un code d’erreur Win32 après ses opérations de détection. Si un co-programme d’installation ne détecte pas les appareils, il retourne NO_ERROR de son passe de prétraitement.

Si un programme d’installation de classe détecte des appareils, le programme d’installation retourne NO_ERROR ou un code d’erreur Win32 approprié. Si un programme d’installation de classe ne gère pas cette requête DIF, le programme d’installation retourne ERROR_DI_DO_DEFAULT.

Gestionnaire de code DIF par défaut

None

Opération du programme d’installation

Pour détecter des appareils non PnP pendant la configuration du mode GUI, un programme d’installation doit gérer la demande de DIF_FIRSTTIMESETUP. L’installation en mode GUI n’envoie pas de requête DIF_DETECT au programme d’installation.

La configuration en mode GUI envoie une requête DIF_FIRSTTIMESETUP avec un DeviceInfoSet vide. Les programmes d’installation peuvent effectuer la détection héritée d’appareils non PnP et les ajouter à DeviceInfoSet. Les programmes d’installation fournis par le système peuvent également gérer cette demande DIF lors de la migration d’installations d’appareils héritées de Windows 9x/Me ou Windows NT vers Microsoft Windows 2000 et versions ultérieures de Windows.

Un programme d’installation détecte les nouveaux appareils de sa classe d’installation, en fonction des informations du Registre, en appelant un composant de détection en mode noyau ou en consultant unattend.txt informations stockées lorsqu’une DLL de migration s’est exécutée lors d’une mise à niveau du système d’exploitation.

Si un programme d’installation détecte un appareil non PnP, le programme d’installation doit sélectionner un pilote pour l’appareil comme suit : créer un élément d’informations sur l’appareil (SetupDiCreateDeviceInfo), définir la propriété SPDRP_HARDWAREID en appelant SetupDiSetDeviceRegistryProperty, appeler SetupDiBuildDriverInfoList, puis appeler SetupDiCallClassInstaller pour envoyer une demande de DIF_SELECTBESTCOMPATDRV .

Si un ou plusieurs programmes d’installation détectent le ou les appareils en réponse à ce code DIF, le programme d’installation en mode GUI tente d’installer le ou les appareils. L’installation en mode GUI tente d’installer tous les appareils de la liste ; si un programme d’installation retourne un appareil qui a été configuré précédemment, le mode GUI installera l’appareil deux fois.

Un programme d’installation doit gérer cette demande DIF en mode silencieux. Autrement dit, sans afficher l’interface utilisateur à l’utilisateur.

Les programmes d’installation ne doivent pas effectuer de tâches lorsqu’ils gèrent cette demande DIF qui nécessite le redémarrage de l’ordinateur. Par exemple, un programme d’installation de classe ne doit pas définir les pilotes à charger au prochain démarrage afin de déterminer quels pilotes réussissent après le redémarrage.

Pour détecter les appareils non PnP pendant la configuration du mode GUI, un programme d’installation doit gérer cette demande. La configuration du mode GUI n’envoie pas de demande de DIF_DETECT.

Pour plus d’informations sur les codes DIF, consultez Gestion des codes DIF.

Spécifications

Version

Pris en charge dans Microsoft Windows 2000 et versions ultérieures de Windows.

En-tête

Setupapi.h (inclure Setupapi.h)

Voir aussi

DIF_SELECTBESTCOMPATDRV

SetupDiBuildDriverInfoList

SetupDiCallClassInstaller

SetupDiCreateDeviceInfo

SetupDiSetDeviceRegistryProperty

SP_DEVINFO_DATA

SP_DEVINSTALL_PARAMS