Partager via


WdfPreDeviceInstallEx, fonction (wdfinstaller.h)

[S’applique à KMDF uniquement]

La fonction WdfPreDeviceInstallEx du co-programme d’installation effectue toutes les opérations dont le co-programme d’installation peut avoir besoin avant qu’un programme d’installation d’un pilote non Plug-and-Play (PnP) crée le service en mode noyau du pilote.

Syntaxe

ULONG WdfPreDeviceInstallEx(
  [in]           LPCWSTR                          InfPath,
  [in, optional] LPCWSTR                          InfSectionName,
  [in]           PWDF_COINSTALLER_INSTALL_OPTIONS ClientOptions
);

Paramètres

[in] InfPath

Pointeur vers une chaîne de caractères larges terminée par null qui contient le chemin du répertoire du fichier INF du pilote. Le programme d’installation du pilote peut obtenir cette chaîne en appelant GetCurrentDirectory, qui est décrit dans la Microsoft Windows SDK.

[in, optional] InfSectionName

Pointeur vers une chaîne de caractères larges terminée par un caractère null qui contient le nom de section Wdf-install-section dans le fichier INF du pilote. Pour plus d’informations sur ce nom, consultez Utilisation du co-programme d’installation KMDF. Si ce pointeur a la valeur NULL, le co-programme d’installation utilise WdfSection pour le nom.

[in] ClientOptions

Pointeur vers une structure de type WDF_COINSTALLER_INSTALL_OPTIONS allouée par l’appelant qui contient des options d’installation spécifiées par le pilote.

Valeur retournée

WdfPreDeviceInstallEx retourne ERROR_SUCCESS si l’opération réussit. Sinon, la fonction retourne l’une des valeurs ERROR_XXX supplémentaires définies dans Winerror.h.

Remarques

Le programme d’installation des pilotes basés sur l’infrastructure d’un appareil non PnP doit appeler WdfPreDeviceInstall ou WdfPreDeviceInstallEx avant que le programme d’installation appelle CreateService.

Pour obtenir l’adresse de la fonction WdfPreDeviceInstallEx du co-programme d’installation, le programme d’installation doit appeler GetProcAddress après que le programme d’installation a appelé LoadLibrary pour charger le co-programme d’installation.

Si le co-programme d’installation détermine que l’ordinateur doit être redémarré pour terminer l’installation du pilote (généralement parce qu’une version antérieure de l’infrastructure a été précédemment installée), la fonction WdfPreDeviceInstallEx vous permet de contrôler quand ou si l’utilisateur est invité à redémarrer l’ordinateur, comme suit :

  • Si le programme d’installation définit le membre ShowRebootPrompt de la structure WDF_COINSTALLER_INSTALL_OPTIONS sur TRUE, WdfPreDeviceInstallEx informe le gestionnaire PnP que l’ordinateur doit être redémarré, et le gestionnaire PnP demande à l’utilisateur qu’un redémarrage est nécessaire. Définir le membre ShowRebootPrompt sur TRUE revient à appeler WdfPreDeviceInstall.
  • Si le programme d’installation définit le membre ShowRebootPrompt de la structure WDF_COINSTALLER_INSTALL_OPTIONS sur FALSE, WdfPreDeviceInstallEx n’informe pas le gestionnaire PnP qu’un redémarrage est nécessaire. Au lieu de cela, la fonction retourne ERROR_SUCCESS_REBOOT_REQUIRED. Votre programme d’installation peut déterminer quand ou si l’ordinateur doit être redémarré.
Pour plus d’informations sur la fonction WdfPreDeviceInstallEx et les programmes d’installation des pilotes basés sur l’infrastructure d’appareils non PnP, consultez Installation d’un pilote non PnP. Pour plus d’informations sur CreateService, GetProcAddress et LoadLibrary, consultez la documentation Microsoft Windows SDK.

Exemples

Pour obtenir un exemple de code qui utilise la fonction WdfPreDeviceInstallEx , consultez le programme d’installation de l’exemple NONPNP .

Configuration requise

Condition requise Valeur
Plateforme cible Universal
Version KMDF minimale 1,9
En-tête wdfinstaller.h (inclure Wdfinstaller.h)
Bibliothèque N/A (Exporté par la bibliothèque de co-programme d’installation KMDF. Pour plus d’informations sur le nom de fichier de la bibliothèque de co-programme d’installation, consultez Utilisation du co-programme d’installation KMDF.)

Voir aussi

WdfPostDeviceInstall

WdfPreDeviceInstall