Función SetupInstallFromInfSectionA (setupapi.h)
[Esta función está disponible para su uso en los sistemas operativos indicados en la sección Requisitos. Puede modificarse o no estar disponible en versiones posteriores. SetupAPI ya no debe usarse para instalar aplicaciones. En su lugar, use Windows Installer para desarrollar instaladores de aplicaciones. SetupAPI sigue usándose para instalar controladores de dispositivo.]
La función
Si se modifica el registro o el archivo, el autor de la llamada de esta función tiene privilegios para escribir en el directorio de destino o en el sistema.
Sintaxis
WINSETUPAPI BOOL SetupInstallFromInfSectionA(
HWND Owner,
HINF InfHandle,
PCSTR SectionName,
UINT Flags,
HKEY RelativeKeyRoot,
PCSTR SourceRootPath,
UINT CopyFlags,
PSP_FILE_CALLBACK_A MsgHandler,
PVOID Context,
HDEVINFO DeviceInfoSet,
PSP_DEVINFO_DATA DeviceInfoData
);
Parámetros
Owner
Puntero opcional al identificador de ventana a la ventana que posee los cuadros de diálogo que se generan durante la instalación, como para la solicitud de disco o la copia de archivos. Si no se especifica propietario, estos cuadros de diálogo se convierten en ventanas de nivel superior.
InfHandle
Identificador del archivo INF que contiene la sección que se va a procesar.
SectionName
Nombre de la sección Instalar
Flags
Controla las acciones que se deben realizar. Las marcas pueden ser una combinación de los valores siguientes.
SPINST_INIFILES
Realice operaciones de archivo INI (UpdateInis, líneas de UpdateIniFields en la sección Instalar que se está procesando).
SPINST_REGISTRY
Realice operaciones del Registro (
SPINST_INI2REG
Realice operaciones de inI en el registro (
SPINST_LOGCONFIG
Esta marca solo se usa al instalar un controlador de dispositivo.
Realice operaciones de configuración lógica (
Para obtener más información sobre cómo instalar controladores de dispositivos, LogConf, DeviceInfoSeto DeviceInfoData, consulte la Guía del programador de DDK .
SPINST_FILES
Realice operaciones de archivo (CopyFiles, DelFiles, líneas de RenFiles en la sección Instalar que se está procesando).
SPINST_ALL
Realice todas las operaciones de instalación.
SPINST_REGISTERCALLBACKAWARE
Al usar la directiva registerDlls de INF para registrar archivos DLL automáticamente en Windows 2000, los autores de llamadas de SetupInstallFromInfSection pueden recibir notificaciones en cada archivo, ya que está registrado o no registrado. Para enviar una notificación de SPFILENOTIFY_STARTREGISTRATION o SPFILENOTIFY_ENDREGISTRATION a la rutina de devolución de llamada, incluya SPINST_REGISTERCALLBACKAWARE más SPINST_REGSVR o SPINST_UNREGSVR. El autor de la llamada también debe establecer el parámetro MsgHandler.
SPINST_REGSVR
Para enviar una notificación a la rutina de devolución de llamada al registrar un archivo, incluya SPINST_REGISTERCALLBACKAWARE más SPINST_REGSVR en Marcas. El autor de la llamada también debe especificar el parámetro MsgHandler.
SPINST_UNREGSVR
Para enviar una notificación a la rutina de devolución de llamada al anular el registro de un archivo, incluya SPINST_REGISTERCALLBACKAWARE más SPINST_UNREGSVR en la Marcas. El autor de la llamada también debe especificar el parámetro MsgHandler.
RelativeKeyRoot
Parámetro opcional que se debe especificar si Marcas incluye SPINST_REGISTRY o SPINST_INI2REG. Identificador de una clave del Registro que se va a usar como raíz cuando el archivo INF especifica HKR como clave.
Tenga en cuenta que este parámetro se omite si se llama al
SourceRootPath
Raíz de origen para copias de archivos. Un ejemplo sería A:\ o \pegasus\win\install. Si flags incluye SPINST_FILES y SourceRootPath es NULL, el sistema proporciona una ruta de acceso raíz predeterminada.
CopyFlags
Parámetro opcional que se debe especificar si flags incluye SPINST_FILES.
Especifica las marcas que se van a pasar a la función setupQueueCopySection
SP_COPY_DELETESOURCE
Elimine el archivo de origen tras una copia correcta. El autor de la llamada no recibe una notificación si se produce un error en la eliminación.
SP_COPY_REPLACEONLY
Copie el archivo solo si hacerlo sobrescribiría un archivo en la ruta de acceso de destino.
SP_COPY_NEWER_OR_SAME
Examine cada archivo que se va a copiar para ver si sus recursos de versión indican que es la misma versión o no más reciente que una copia existente en el destino.
La información de versión del archivo usada durante las comprobaciones de versiones es que se especifica en la dwFileVersionMS y dwFileVersionLS miembros de una estructura de VS_FIXEDFILEINFO, tal y como rellenan las funciones de versión. Si uno de los archivos no tiene recursos de versión o si tienen información de versión idéntica, el archivo de origen se considera más reciente.
Si el archivo de origen no es igual a la versión o posterior, y se especifica CopyMsgHandler, se notifica al autor de la llamada y puede cancelar la copia. Si no se especifica CopyMsgHandler, no se copia el archivo.
SP_COPY_NEWER_ONLY
Examine cada archivo que se va a copiar para ver si sus recursos de versión indican que no es más reciente que una copia existente en el destino. Si el archivo de origen es más reciente pero no es igual a la versión del destino existente, se copia el archivo.
SP_COPY_NOOVERWRITE
Compruebe si el archivo de destino existe y, si es así, notifique al autor de la llamada que pueda vetar la copia. Si no se especifica CopyMsgHandler, el archivo no se sobrescribe.
SP_COPY_NODECOMP
No descomprima el archivo. Cuando se establece esta marca, el archivo de destino no recibe la forma sin comprimir del nombre de origen (si procede). Por ejemplo, copiar f:/x86\cmd.ex_ en \install\temp da como resultado un archivo de destino de \install\temp\cmd.ex_. Si no se especificó la marca SP_COPY_NODECOMP, el archivo se descomprimiría y el destino se llamaría \install\temp\cmd.exe. La parte de nombre de archivo de DestinationName, si se especifica, se quita y reemplaza por el nombre de archivo de origen. Cuando se especifica SP_COPY_NODECOMP, no se puede comprobar ninguna información de idioma o versión.
SP_COPY_LANGUAGEAWARE
Examine cada archivo que se va a copiar para ver si su idioma difiere del idioma de cualquier archivo existente que ya esté en el destino. Si es así, y se especifica CopyMsgHandler, se notifica al autor de la llamada y puede cancelar la copia. Si no se especifica CopyMsgHandler, no se copia el archivo.
SP_COPY_SOURCE_ABSOLUTE
sourceFile es una ruta de acceso de origen completa. No lo busque en la sección SourceDisksNames del archivo INF.
SP_COPY_SOURCEPATH_ABSOLUTE
sourcePathRoot es la parte de ruta de acceso completa del archivo de origen. Omita el origen relativo especificado en la sección SourceDisksNames del archivo INF para el medio de origen donde se encuentra el archivo. Esta marca se omite si se especifica SP_COPY_SOURCE_ABSOLUTE.
SP_COPY_FORCE_IN_USE
Si el destino existe, comporte como si estuviera en uso y poner en cola el archivo para copiarlo en el siguiente reinicio del sistema.
SP_COPY_IN_USE_NEEDS_REBOOT
Si el archivo estaba en uso durante la operación de copia, informe al usuario de que debe reiniciarse el sistema. Esta marca solo se usa al llamar posteriormente a setupPromptReboot o SetupScanFileQueue.
SP_COPY_NOSKIP
No proporcione al usuario la opción de omitir un archivo.
SP_COPY_FORCE_NOOVERWRITE
Compruebe si el archivo de destino existe y, si es así, el archivo no se sobrescribe. No se notifica al autor de la llamada.
SP_COPY_FORCE_NEWER
Examine cada archivo que se va a copiar para ver si sus recursos de versión (o marcas de tiempo para archivos que no son de imagen) indican que no es más reciente que una copia existente en el destino. Si el archivo que se copia no es más reciente, el archivo no se copia. No se notifica al autor de la llamada.
SP_COPY_WARNIFSKIP
Si el usuario intenta omitir un archivo, avisa de que omitir un archivo puede afectar a la instalación. (Se usa para archivos críticos del sistema).
MsgHandler
Puntero a la rutina de devolución de llamada. La rutina de devolución de llamada debe estar en el formato de FileCallback. Consulte Notificaciones para obtener más información.
Este parámetro solo es opcional si el parámetro flags
msgHandler debe establecerse si marcas incluye SPINST_FILES. En este caso, la notificación se envía a la rutina de devolución de llamada cuando la cola de archivos se confirma con SetupCommitFileQueue.
MsgHandler debe establecerse si Flags incluye SPINST_REGISTERCALLBACKAWARE más SPINST_REGSVR o SPINST_UNREGSVR. En este caso, se envía una SPFILENOTIFY_STARTREGISTRATION o SPFILENOTIFY_ENDREGISTRATION a la rutina de devolución de llamada una vez cada vez que se registra o se anula el registro de un archivo mediante la directiva RegisterDlls de INF en Windows 2000.
Context
Valor que se va a pasar a la función de devolución de llamada cuando la cola de archivos compilada por esta rutina se confirma internamente a través de SetupCommitFileQueue. El parámetro Context
DeviceInfoSet
Puntero opcional a un identificador de un conjunto de información del dispositivo. Para obtener más información sobre las funciones de instalación del instalador de dispositivos, consulte la Guía del programador de DDK .
DeviceInfoData
Puntero opcional a un puntero a la estructura de SP_DEVINFO_DATA que proporciona un contexto a un elemento específico del conjunto especificado por DeviceInfoSet. Para obtener más información sobre las funciones de instalación del instalador de dispositivos, consulte la Guía del programador de DDK .
Valor devuelto
Si la función se ejecuta correctamente, el valor devuelto es un valor distinto de cero.
Si se produce un error en la función, el valor devuelto es cero. Para obtener información de error extendida, llame a GetLastError.
Observaciones
Si se especifica un directorio UNC como directorio de destino de una operación de copia de archivos, debe asegurarse de que existe antes de llamar a SetupInstallFromInfSection. Las funciones de instalación no comprueban la existencia de y no crean directorios UNC. Si el directorio UNC de destino no existe, se producirá un error en la instalación del archivo.
Esta función requiere un archivo INF de Windows. Es posible que no se admita algún formato de archivo INF anterior.
Nota
El encabezado setupapi.h define SetupInstallFromInfSection 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 neutral de codificación con código que no es neutral de codificación puede dar lugar a errores de coincidencia que dan lugar a errores de compilación o tiempo de ejecución. Para obtener más información, vea Conventions for Function Prototypes.
Requisitos
Requisito | Valor |
---|---|
cliente mínimo admitido | Windows XP [solo aplicaciones de escritorio] |
servidor mínimo admitido | Windows Server 2003 [solo aplicaciones de escritorio] |
de la plataforma de destino de |
Windows |
encabezado de |
setupapi.h |
biblioteca de |
Setupapi.lib |
DLL de |
Setupapi.dll |
conjunto de API de |
ext-ms-win-setupapi-classinstallers-l1-1-2 (introducido en Windows 10, versión 10.0.14393) |
Consulte también
funciones de