Función SetupDiGetActualSectionToInstallA (setupapi.h)

La función SetupDiGetActualSectionToInstall recupera la sección inf DDInstall adecuada que se usará al instalar un dispositivo desde un archivo INF de dispositivo en un equipo local.

Sintaxis

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

Parámetros

[in] InfHandle

Identificador del archivo INF que contiene la sección DDInstall .

[in] InfSectionName

Puntero al nombre de la sección DDInstall (como se especifica en una sección Modelos INF). La longitud máxima del nombre de sección, en caracteres, es 254.

[out, optional] InfSectionWithExt

Puntero a un búfer de caracteres para recibir el nombre de la sección DDInstall , su extensión de plataforma y un terminador NULL. Este es el nombre de sección decorado que se debe usar para la instalación. Si este parámetro es NULL, InfSectionWithExtSize debe ser cero. Si este parámetro es NULL, la función devuelve TRUE y establece RequiredSize en el tamaño, en caracteres, necesario para devolver el nombre de sección DDInstall , su extensión de plataforma y un carácter NULL de terminación.

[in] InfSectionWithExtSize

Tamaño, en caracteres, del búfer InfSectionWithExt . Si InfSectionWithExt es NULL, este parámetro debe ser cero.

[out, optional] RequiredSize

Puntero a la variable que recibe el tamaño, en caracteres, necesario para devolver el nombre de sección DDInstall , la extensión de plataforma y un carácter NULL de terminación.

[out, optional] Extension

Puntero a una variable que recibe un puntero al carácter '.' que marca el inicio de la extensión en el búfer InfSectionWithExt . Si el búfer InfSectionWithExt no se proporciona o es demasiado pequeño, este parámetro no se establece. Establezca este parámetro en NULL si no se requiere un puntero a la extensión.

Valor devuelto

Si la función se ejecuta correctamente, devuelve TRUE. Si se produce un error en la función, devuelve FALSE. Para obtener información de error extendida, llame a GetLastError.

Comentarios

Esta función admite las extensiones en los nombres de sección DDInstall que se usan para especificar comportamientos de instalación específicos del sistema operativo y específicos de la arquitectura para un dispositivo. Para obtener información sobre estas extensiones, vea Crear archivos INF para varias plataformas y sistemas operativos. SetupDiGetActualSectionToInstall busca un nombre de sección DDInstall que coincida con el equipo local de la manera descrita a continuación.

La función busca primero en el archivo INF especificado un nombre de sección de instalación decorado que coincida con el nombre especificado y tiene una extensión que coincida con el sistema operativo y la arquitectura del procesador del equipo local. Si, por ejemplo, se especifica un nombre de sección de InstallSec, la función busca uno de los siguientes nombres decorados, en función de la arquitectura del procesador del equipo local:

  • Para un equipo basado en la arquitectura del procesador x86, la función busca el nombre decorado InstallSec.ntx86.
  • Para un equipo basado en la arquitectura del procesador x64, la función busca el nombre decorado InstallSec.ntamd64.
  • Para un equipo basado en la arquitectura del procesador Itanium, la función busca el nombre decorado InstallSec.ntia64.
Si la función encuentra una coincidencia con el nombre, el sistema operativo y la arquitectura del procesador, finaliza la búsqueda y devuelve el nombre representativo correspondiente. Si la función no encuentra tal coincidencia, la función busca una sección cuyo nombre sea InstallSec.NT. Si la función encuentra una coincidencia con InstallSec.NT, finaliza la búsqueda y devuelve este nombre. Si la función no encuentra ninguna coincidencia para ninguna de las búsquedas anteriores, devuelve InstallSec, pero no comprueba que el archivo INF contenga una sección de instalación cuyo nombre sea InstallSec.

El nombre de la sección DDInstall se usa como base para los nombres de sección hardware y servicios . Por ejemplo, si el nombre de la sección DDInstall que se encuentra es InstallSec.NTX86, el nombre de la sección Services debe denominarse InstallSec.NTX86.Services.

El nombre de la sección DDInstall original especificado en el nodo del controlador se escribe en la entrada de valor InfSection de la clave del registro del controlador. La extensión que se encontró se almacena en la clave como valor de REG_SZ InfSectionExt. Por ejemplo:

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

Si no se selecciona un controlador para el elemento de información del dispositivo especificado, se instala un controlador NULL. Tras la devolución, las marcas de la estructura de SP_DEVINSTALL_PARAMS del dispositivo indican si el sistema debe reiniciarse o reiniciarse para que el dispositivo se inicie.

Nota

El encabezado setupapi.h define SetupDiGetActualSectionToInstall como alias que selecciona automáticamente la versión ANSI o Unicode de esta función en función de la definición de la constante de preprocesador UNICODE. La combinación del uso del alias neutro de codificación con código que no es neutral de codificación puede provocar discrepancias que dan lugar a errores de compilación o en tiempo de ejecución. Para obtener más información, vea Convenciones para prototipos de función.

Requisitos

Requisito Value
Cliente mínimo compatible Disponible en Microsoft Windows 2000 y versiones posteriores de Windows.
Plataforma de destino Escritorio
Encabezado setupapi.h (incluya Setupapi.h)
Library Setupapi.lib

Consulte también

Sección INF DDInstall

SetupDiGetActualSectionToInstallEx

SetupDiInstallDevice