Compartir a través de


Función InstallHinfSectionA (setupapi.h)

[Esta función está disponible para su uso en los sistemas operativos indicados en la sección Requisitos. En versiones posteriores podría modificarse o no estar disponible. SetupAPI ya no debe usarse para instalar aplicaciones. En su lugar, use Windows Installer para desarrollar instaladores de aplicaciones. SetupAPI sigue utilizándose para instalar controladores de dispositivo.

InstallHinfSection es una función de punto de entrada exportada por Setupapi.dll que puede usar para ejecutar una sección de un archivo .inf. InstallHinfSection se puede invocar llamando a la utilidad Rundll32.exe como se describe en la sección Comentarios.

El prototipo de la función InstallHinfSection sigue la forma de todas las funciones de punto de entrada usadas con Rundll32.exe.

Si se copia o modifica un archivo, se requiere que el autor de la llamada de esta función tenga privilegios para escribir en el directorio de destino. Si hay algún servicio instalado, se requiere el autor de la llamada de esta función para acceder al Administrador de control de servicios.

Sintaxis

void InstallHinfSectionA(
  [in] HWND      Window,
  [in] HINSTANCE ModuleHandle,
  [in] PCSTR     CommandLine,
  [in] INT       ShowCommand
);

Parámetros

[in] Window

Identificador de la ventana primaria. Normalmente , hwnd es Null.

[in] ModuleHandle

Reservado y debe ser Null.

[in] CommandLine

Puntero al búfer que contiene la línea de comandos. Debe usar una cadena terminada en null.

[in] ShowCommand

Reservado y debe ser cero.

Valor devuelto

None

Observaciones

Tenga en cuenta que existen tres exportaciones: InstallHinfSection (para RunDll32), InstallHinfSectionA e InstallHinfSectionW.

Para ejecutar una sección Install de un archivo .inf especificado, puede invocar InstallHinfSection con el Rundll32.exe mediante la sintaxis siguiente.

RUNDLL32.EXE SETUPAPI.DLL,Ruta de acceso del modo <>>de sección<>InstallHinfSection<

Esto pasa "ruta de acceso del modo>de sección<" aCmdLineBuffer.<>><

Como alternativa, el programa puede llamar directamente a InstallHinfSection, InstallHinfSectionA o InstallHinfSectionW , estableciendo el parámetro CmdLineBuffer en lo siguiente.

"<section> <mode> <path>"

Donde path es la ruta de acceso completa al archivo .inf, el modo es el parámetro de modo de reinicio y la sección es cualquier sección install del archivo .inf. Se requiere el separador de comas entre SETUPAPI.DLL e InstallHinfSection en la línea de comandos. Tenga en cuenta que no puede haber ningún espacio en blanco en la línea de comandos entre la coma y SETUPAPI.DLL o InstallHinfSection.

Se recomienda especificar la ruta de acceso completa al archivo .inf como ruta de acceso.

Puede especificar cualquier sección de instalación en el archivo .inf como sección. No se permiten espacios.

Debe usar una combinación de los siguientes valores para el modo . Debe incluir 128 para establecer la ruta de acceso predeterminada de la instalación en la ubicación de INF; de lo contrario, se supone que se supone un INF proporcionado por el sistema. Agregue valores para especificar el reinicio. Tenga en cuenta que solo se recomiendan los valores 128 o 132, otros valores pueden hacer que el equipo se reinicie innecesariamente o no se reinicie cuando sea necesario.

Valor Descripción
0 El sistema proporcionó INF.
128 Establezca la ruta de acceso predeterminada de la instalación en la ubicación del INF. Esta es la configuración típica.
+0 Nunca reinicie el equipo.
+1 Reinicie el equipo en todos los casos.
+2 Pregunte siempre a los usuarios si quieren reiniciarse.
+3 Reinicie el equipo si es necesario sin pedir permiso al usuario.
+4 Si es necesario reiniciar el equipo, pida al usuario permiso antes de reiniciar.
 
 

Por ejemplo, la siguiente línea de comandos ejecuta la sección DefaultInstall del archivo Shell.inf. Si el programa de instalación determina que se requiere un reinicio, se le pedirá al usuario un cuadro de diálogo "Reiniciar el equipo, Sí/No".

RUNDLL32.EXE SETUPAPI.DLL,InstallHinfSection DefaultInstall 132 C:\WINDOWS\INF\SHELL. INF

Nota

El encabezado setupapi.h define InstallHinfSection 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.

Precaución

Cuando se usa en una arquitectura distinta de x86 o amd64, o cuando se usa en un sistema en modo S, InstallHInfSection requiere que el archivo INF tenga una sección Versión inf con una directiva CatalogFile que apunte a un archivo de catálogo firmado que contenga el hash del archivo INF y cualquier archivo al que el archivo INF haga referencia a través de una sección INF SourceDisksFiles.

Precaución

Cuando se usa en un sistema cuya arquitectura nativa no es x86 ni amd64, InstallHInfSection debe usarse desde un proceso de arquitectura nativa. InstallHInfSection bloqueará muchos tipos de operaciones de cambio de estado del sistema cuando se usan desde un proceso de arquitectura no nativo.

Requisitos

Requisito Value
Cliente mínimo compatible Windows XP [solo aplicaciones de escritorio]
Servidor mínimo compatible Windows Server 2003 [solo aplicaciones de escritorio]
Plataforma de destino Windows
Encabezado setupapi.h
Library Setupapi.lib
Archivo DLL Setupapi.dll