SetupDiGetActualSectionToInstallA, fonction (setupapi.h)

La fonction SetupDiGetActualSectionToInstall récupère la section INF DDInstall appropriée à utiliser lors de l’installation d’un appareil à partir d’un fichier INF d’appareil sur un ordinateur local.

Syntaxe

WINSETUPAPI BOOL SetupDiGetActualSectionToInstallA(
  [in]            HINF   InfHandle,
  [in]            PCSTR  InfSectionName,
  [out, optional] PSTR   InfSectionWithExt,
  [in]            DWORD  InfSectionWithExtSize,
  [out, optional] PDWORD RequiredSize,
  [out, optional] PSTR   *Extension
);

Paramètres

[in] InfHandle

Handle du fichier INF qui contient la section DDInstall .

[in] InfSectionName

Pointeur vers le nom de section DDInstall (comme spécifié dans une section Inf Models). La longueur maximale du nom de section, en caractères, est de 254.

[out, optional] InfSectionWithExt

Pointeur vers une mémoire tampon de caractères pour recevoir le nom de la section DDInstall , son extension de plateforme et une marque de fin NULL. Il s’agit du nom de section décoré qui doit être utilisé pour l’installation. Si ce paramètre a la valeur NULL, InfSectionWithExtSize doit être égal à zéro. Si ce paramètre a la valeur NULL, la fonction retourne TRUE et définit RequiredSize sur la taille, en caractères, requise pour renvoyer le nom de section DDInstall , son extension de plateforme et un caractère NULL de fin.

[in] InfSectionWithExtSize

Taille, en caractères, de la mémoire tampon InfSectionWithExt . Si InfSectionWithExt a la valeur NULL, ce paramètre doit être égal à zéro.

[out, optional] RequiredSize

Pointeur vers la variable qui reçoit la taille, en caractères, requise pour retourner le nom de section DDInstall , l’extension de plateforme et un caractère NULL de fin.

[out, optional] Extension

Pointeur vers une variable qui reçoit un pointeur vers le caractère « . » qui marque le début de l’extension dans la mémoire tampon InfSectionWithExt . Si la mémoire tampon InfSectionWithExt n’est pas fournie ou est trop petite, ce paramètre n’est pas défini. Définissez ce paramètre sur NULL si un pointeur vers l’extension n’est pas nécessaire.

Valeur retournée

Si la fonction réussit, elle retourne TRUE. Si la fonction échoue, elle retourne FALSE. Pour obtenir des informations détaillées sur l’erreur, appelez GetLastError.

Remarques

Cette fonction prend en charge les extensions des noms de section DDInstall utilisés pour spécifier des comportements d’installation spécifiques au système d’exploitation et à l’architecture pour un appareil. Pour plus d’informations sur ces extensions, consultez Création de fichiers INF pour plusieurs plateformes et systèmes d’exploitation. SetupDiGetActualSectionToInstall recherche un nom de section DDInstall qui correspond à l’ordinateur local de la manière décrite ci-dessous.

La fonction recherche d’abord dans le fichier INF spécifié un nom de section d’installation décoré qui correspond au nom spécifié et a une extension qui correspond au système d’exploitation et à l’architecture du processeur de l’ordinateur local. Si, par exemple, vous spécifiez un nom de section InstallSec, la fonction recherche l’un des noms décorés suivants, en fonction de l’architecture du processeur de l’ordinateur local :

  • Pour un ordinateur basé sur l’architecture du processeur x86, la fonction recherche le nom décoré InstallSec.ntx86.
  • Pour un ordinateur basé sur l’architecture du processeur x64, la fonction recherche le nom décoré InstallSec.ntamd64.
  • Pour un ordinateur basé sur l’architecture du processeur Itanium, la fonction recherche le nom décoré InstallSec.ntia64.
Si la fonction trouve une correspondance pour le nom, le système d’exploitation et l’architecture du processeur, elle met fin à la recherche et retourne le nom décoré correspondant. Si la fonction ne trouve pas une telle correspondance, la fonction recherche une section dont le nom est InstallSec.NT. Si la fonction trouve une correspondance pour InstallSec.NT, elle met fin à la recherche et retourne ce nom. Si la fonction ne trouve pas de correspondance pour l’une des recherches ci-dessus, elle retourne InstallSec, mais ne vérifie pas que le fichier INF contient une section d’installation dont le nom est InstallSec.

Le nom de section DDInstall est utilisé comme base pour les noms de section Matériel et Services . Par exemple, si le nom de section DDInstall trouvé est InstallSec.NTX86, le nom de la section Services doit être nommé InstallSec.NTX86.Services.

Le nom de section DDInstall d’origine spécifié dans le nœud du pilote est écrit dans l’entrée de valeur InfSection de la clé de Registre du pilote. L’extension trouvée est stockée dans la clé en tant que valeur de REG_SZ InfSectionExt. Par exemple :

InfSection       : REG_SZ :    "InstallSec"
InfSectionExt    : REG_SZ :    ".NTX86"

Si aucun pilote n’est sélectionné pour l’élément d’informations de périphérique spécifié, un pilote Null est installé. Au retour, les indicateurs dans la structure SP_DEVINSTALL_PARAMS de l’appareil indiquent si le système doit être redémarré ou redémarré pour provoquer le démarrage de l’appareil.

Notes

L’en-tête setupapi.h définit SetupDiGetActualSectionToInstall en tant qu’alias qui sélectionne automatiquement la version ANSI ou Unicode de cette fonction en fonction de la définition de la constante de préprocesseur UNICODE. La combinaison de l’utilisation de l’alias neutre en encodage avec du code qui n’est pas neutre en encodage peut entraîner des incompatibilités qui entraînent des erreurs de compilation ou d’exécution. Pour plus d’informations, consultez Conventions pour les prototypes de fonction.

Configuration requise

Condition requise Valeur
Client minimal pris en charge Disponible dans Microsoft Windows 2000 et versions ultérieures de Windows.
Plateforme cible Desktop (Expérience utilisateur)
En-tête setupapi.h (inclure Setupapi.h)
Bibliothèque Setupapi.lib

Voir aussi

Inf DDInstall, section

SetupDiGetActualSectionToInstallEx

SetupDiInstallDevice