Partager via


DIF_ALLOW_INSTALL

Une demande de DIF_ALLOW_INSTALL demande aux programmes d’installation d’un appareil si Windows peut procéder à l’installation de l’appareil.

Date d’envoi

Après avoir sélectionné un pilote pour l’appareil, mais avant d’installer le périphérique.

Qui gère

Co-programme d’installation de classe

Peut gérer

Co-programme d’installation d’appareil

Ne doit pas gérer

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 qui contient l’appareil.

DeviceInfoData
Fournit un pointeur vers une structure de SP_DEVINFO_DATA qui identifie l’appareil dans le jeu d’informations sur l’appareil.

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

Paramètres d’installation de classe
None

Sortie du programme d’installation

None

Valeur de retour du programme d’installation

Un co-programme d’installation peut retourner NO_ERROR ou une erreur Win32. Un co-programme d’installation ne doit pas retourner ERROR_DI_POSTPROCESSING_REQUIRED pour cette demande DIF.

Un programme d’installation de classe retourne généralement ERROR_DI_DO_DEFAULT ou un code d’erreur Win32.

Les codes d’erreur Win32 classiques pour cette demande DIF incluent ERROR_DI_DONT_INSTALL et ERROR_NON_WINDOWS_NT_DRIVER.

Note Les programmes d’installation et les co-programmes d’installation de classe ne doivent pas se retourner ERROR_REQUIRES_INTERACTIVE_WINDOWSTATION car cela entraîne l’échec de l’installation de l’appareil. Si l’installation de l’appareil nécessite une interaction utilisateur, les programmes d’installation de classe et les co-programmes d’installation doivent prendre en charge une action terminer-installer.

Gestionnaire de code DIF par défaut

None

Opération du programme d’installation

En réponse à une demande de DIF_ALLOW_INSTALL un programme d’installation confirme si Windows peut installer l’appareil.

Un programme d’installation peut échouer à cette demande s’il détermine que le pilote sélectionné est incorrect (par exemple, si le pilote est un pilote Windows 9x uniquement qui ne fonctionnera pas correctement sur les systèmes d’exploitation NT) ou s’il détermine qu’un pilote sélectionné est connu pour avoir des bogues.

Un programme d’installation peut échouer à cette demande si l’indicateur DI_QUIETINSTALL est défini dans les paramètres d’installation de l’appareil et que le programme d’installation doit afficher l’interface utilisateur pendant l’installation de l’appareil. Toutefois, cet échec est rare, car un programme d’installation peut généralement fournir des pages d’interface utilisateur en réponse à la demande DIF_NEWDEVICEWIZARD_FINISHINSTALL. Dans ce cas, l’interface utilisateur n’empêche pas le programme d’installation de réussir une demande DIF_ALLOW_INSTALL pour laquelle l’indicateur silencieux est défini. Toutefois, si un programme d’installation ne peut pas limiter son interface utilisateur au cas de fin d’installation, le programme d’installation doit échouer à cette demande DIF si l’indicateur DI_QUIETINSTALL est défini. Un programme d’installation peut avoir cette restriction, par exemple, s’il appelle du code fourni par le fournisseur qui affiche l’interface utilisateur.

Si un programme d’installation échoue à cette demande DIF, Windows arrête l’installation.

Si un programme d’installation échoue à cette demande DIF et que DI_QUIETINSTALL n’est pas défini dans les paramètres d’installation de l’appareil, le programme d’installation doit afficher une boîte de dialogue avec un message expliquant pourquoi l’appareil n’est pas installé.

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

SP_DEVINFO_DATA

SP_DEVINSTALL_PARAMS