Share via


Función SetupInstallFilesFromInfSectionW (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 usándose para instalar controladores de dispositivos.

La función SetupInstallFilesFromInfSection pone en cola todos los archivos de una instalación que se especifican en las secciones Copiar archivos, Eliminar archivos y Cambiar nombre de archivos que se enumeran en una sección Instalar.

Si se modifica un archivo, el autor de la llamada de esta función debe tener privilegios para escribir en el directorio de destino.

Sintaxis

WINSETUPAPI BOOL SetupInstallFilesFromInfSectionW(
  [in] HINF     InfHandle,
  [in] HINF     LayoutInfHandle,
  [in] HSPFILEQ FileQueue,
  [in] PCWSTR   SectionName,
  [in] PCWSTR   SourceRootPath,
  [in] UINT     CopyFlags
);

Parámetros

[in] InfHandle

Identificador de un archivo INF que contiene la sección que se va a instalar.

[in] LayoutInfHandle

Puntero opcional a un identificador del archivo INF que contiene las secciones SourceDisksFiles y SourceDisksNames.

Si no se especifica LayoutInfHandle , se usan las secciones SourceDisksFiles y SourceDisksNames de InfHandle .

[in] FileQueue

Identificador de la cola donde se van a agregar las operaciones de instalación.

[in] SectionName

Nombre de la sección Instalar del parámetro InfHandle que enumera las secciones Copiar archivos, Eliminar archivos y Cambiar nombre de archivos que contienen los archivos que se van a instalar.

Use una cadena terminada en NULL.

[in] SourceRootPath

Puntero opcional a una ruta de acceso raíz a los archivos de origen que se van a copiar, por ejemplo, A:\ o \pegasus\win\install.

Use una cadena terminada en NULL.

[in] CopyFlags

Puntero opcional a un conjunto de marcas que controlan el comportamiento de la operación de copia de archivos.

Las marcas pueden ser una combinación de los valores siguientes.

SP_COPY_DELETESOURCE

Elimina el archivo de origen cuando la tarea de copia se realiza correctamente.

El autor de la llamada no recibe una notificación si se produce un error en una tarea de eliminación.

SP_COPY_REPLACEONLY

Copia un archivo solo para sobrescribir un archivo en la ruta de acceso de destino.

SP_COPY_NEWER_OR_SAME

Examina cada archivo que se copia para determinar si los recursos de versión indican que es la misma versión o no una copia existente en el destino.

Si el archivo de origen no es una versión más reciente o igual, la función notifica al autor de la llamada que puede cancelar la copia.

La información de versión del archivo que se usa durante las comprobaciones de versiones se especifica en los miembros dwFileVersionMS y dwFileVersionLS de una estructura de VS_FIXEDFILEINFO , tal y como se rellenan en las funciones de versión de Win32.

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.

SP_COPY_NEWER_ONLY

Examina cada archivo que se está copiando para determinar 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 en la versión del destino existente, se copia el archivo.

SP_COPY_NOOVERWRITE

Comprueba si existe o no el archivo de destino.

Si el archivo de destino existe, la función notifica al autor de la llamada que puede cancelar la copia.

SP_COPY_NODECOMP

No descomprime un archivo.

Cuando se establece esta marca, el archivo de destino no recibe el formato sin comprimir del nombre de origen, por ejemplo, si copia f:\x86\cmd.ex_ en \install\temp, el resultado es el siguiente archivo de destino: \install\temp\cmd.ex_.

Si no se especifica la marca SP_COPY_NODECOMP, el archivo se descomprime y el destino se llama \install\temp\cmd.exe.

La parte de nombre de archivo de DestinationName, si se especifica, se elimina y se reemplaza por el nombre de archivo de origen. Cuando se especifica SP_COPY_NODECOMP, no se puede comprobar la información de idioma y versión.

SP_COPY_LANGUAGEAWARE

Examina cada archivo que se va a copiar para determinar si el idioma es diferente del idioma de cualquier archivo existente que ya esté en el destino.

Si el lenguaje es diferente, la función notifica al autor de la llamada que puede cancelar la tarea de copia.

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 del medio de origen donde se encuentra el archivo. Esta marca se omite si se especifica SP_COPY_SOURCE_ABSOLUTE.

SP_COPY_FORCE_IN_USE

Pone en cola el archivo para copiar en el siguiente reinicio del sistema, si el destino existe y se usa.

SP_COPY_IN_USE_NEEDS_REBOOT

Alerta al usuario de que el sistema debe reiniciarse, si el archivo se usa durante una operación de copia.

SP_COPY_NOSKIP

No proporciona al usuario la opción de omitir un archivo.

SP_COPY_FORCE_NOOVERWRITE

Comprueba si existe o no el archivo de destino y, si el destino existe, el archivo no se sobrescribe y no se notifica al autor de la llamada.

SP_COPY_FORCE_NEWER

Examina cada archivo que se está copiando para identificar que 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 está copiando no es más reciente, el archivo no se copia y no se notifica al autor de la llamada.

SP_COPY_WARNIFSKIP

Advierte que omitir un archivo puede afectar a una instalación si el usuario intenta omitir un archivo.

Use esta marca para los archivos críticos del sistema.

Valor devuelto

Si la función se ejecuta correctamente, el valor devuelto es un valor distinto de cero.

Si la función no se realiza correctamente, el valor devuelto es 0 (cero). Para obtener información de error extendida, llame a GetLastError.

Comentarios

Se puede llamar a SetupInstallFilesFromInfSection varias veces para poner en cola los archivos especificados en varias secciones INF. Una vez que la cola se confirma correctamente y los archivos se copian, se cambia el nombre o se eliminan, se puede llamar a SetupInstallFromInfSection para realizar operaciones de instalación del Registro e INI.

Si se especifica un directorio UNC como directorio de destino de una instalación de archivos, debe asegurarse de que el directorio UNC existe antes de llamar a SetupInstallFilesFromInfSection. Las funciones de instalación no comprueban la existencia de directorios y no crean directorios UNC. Si el directorio UNC de destino no existe, se produce un error en la instalación del archivo.

Nota

El encabezado setupapi.h define SetupInstallFilesFromInfSection 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 Convenciones para prototipos de función.

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

Vea también

Funciones

Información general

SetupInstallFromInfSection

SetupInstallServicesFromInfSection