Função SetupInstallFilesFromInfSectionW (setupapi.h)
[Essa função está disponível para uso nos sistemas operacionais indicados na seção Requisitos. Ele poderá ser alterado ou ficar indisponível em versões subsequentes. SetupAPI não deve mais ser usado para instalar aplicativos. Em vez disso, use o Windows Installer para desenvolver instaladores de aplicativos. SetupAPI continua a ser usado para instalar drivers de dispositivo.]
A função SetupInstallFilesFromInfSection enfileira todos os arquivos para uma instalação especificada nas seções Copiar Arquivos, Excluir Arquivos e Renomear Arquivos listadas por uma seção Instalar.
Se um arquivo for modificado, o chamador dessa função precisará ter privilégios para gravar no diretório de destino.
Sintaxe
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
O identificador de um arquivo INF que contém a seção a ser instalada.
[in] LayoutInfHandle
Um ponteiro opcional para um identificador para o arquivo INF que contém as seções SourceDisksFiles e SourceDisksNames.
Se LayoutInfHandle não for especificado, as seções SourceDisksFiles e SourceDisksNames de InfHandle serão usadas.
[in] FileQueue
O identificador para a fila em que as operações de instalação devem ser adicionadas.
[in] SectionName
O nome da seção Instalar no parâmetro InfHandle que lista as seções Copiar Arquivos, Excluir Arquivos e Renomear Arquivos que contêm os arquivos a serem instalados.
Use uma cadeia de caracteres terminada em nulo.
[in] SourceRootPath
Um ponteiro opcional para um caminho raiz para os arquivos de origem a serem copiados, por exemplo, A:\ ou \pegasus\win\install.
Use uma cadeia de caracteres terminada em nulo.
[in] CopyFlags
Um ponteiro opcional para um conjunto de sinalizadores que controlam o comportamento da operação de cópia de arquivo.
Os sinalizadores podem ser uma combinação dos valores a seguir.
SP_COPY_DELETESOURCE
Exclui o arquivo de origem quando a tarefa de cópia é bem-sucedida.
O chamador não será notificado se uma tarefa de exclusão falhar.
SP_COPY_REPLACEONLY
Copia um arquivo somente para substituir um arquivo no caminho de destino.
SP_COPY_NEWER_OR_SAME
Examina cada arquivo copiado para determinar se os recursos de versão indicam que ele é a mesma versão ou não mais recente do que uma cópia existente no destino.
Se o arquivo de origem não for uma versão mais recente ou igual, a função notificará o chamador que pode cancelar a cópia.
As informações de versão do arquivo usadas durante as verificações de versão são especificadas nos membros dwFileVersionMS e dwFileVersionLS de uma estrutura VS_FIXEDFILEINFO , conforme preenchido pelas funções de versão do Win32.
Se um dos arquivos não tiver recursos de versão ou se tiverem informações de versão idênticas, o arquivo de origem será considerado mais recente.
SP_COPY_NEWER_ONLY
Examina cada arquivo que está sendo copiado para determinar se seus recursos de versão indicam que ele não é mais recente do que uma cópia existente no destino.
Se o arquivo de origem for mais recente, mas não for igual na versão para o destino existente, o arquivo será copiado.
SP_COPY_NOOVERWRITE
Verifica se o arquivo de destino existe ou não.
Se o arquivo de destino existir, a função notificará o chamador que pode cancelar a cópia.
SP_COPY_NODECOMP
Não descompacta um arquivo.
Quando esse sinalizador é definido, o arquivo de destino não recebe o formulário descompactado do nome de origem, por exemplo, se você copiar f:\x86\cmd.ex_ para \install\temp, o resultado será o seguinte arquivo de destino: \install\temp\cmd.ex_.
Se o sinalizador SP_COPY_NODECOMP não for especificado, o arquivo será descompactado e o destino será chamado de \install\temp\cmd.exe.
A parte filename de DestinationName, se especificada, é excluída e substituída pelo nome do arquivo de origem. Quando SP_COPY_NODECOMP é especificado, as informações de idioma e versão não podem ser verificadas.
SP_COPY_LANGUAGEAWARE
Examina cada arquivo que está sendo copiado para determinar se o idioma é ou não diferente do idioma de qualquer arquivo existente já no destino.
Se o idioma for diferente, a função notificará o chamador que pode cancelar a tarefa de cópia.
SP_COPY_SOURCE_ABSOLUTE
SourceFile é um caminho de origem completo.
Não procure-o na seção SourceDisksNames do arquivo INF.
SP_COPY_SOURCEPATH_ABSOLUTE
SourcePathRoot é a parte completa do caminho do arquivo de origem.
Ignore a fonte relativa especificada na seção SourceDisksNames do arquivo INF para a mídia de origem em que o arquivo está localizado. Esse sinalizador será ignorado se SP_COPY_SOURCE_ABSOLUTE for especificado.
SP_COPY_FORCE_IN_USE
Enfileira o arquivo para cópia na próxima reinicialização do sistema, se o destino existir e estiver sendo usado.
SP_COPY_IN_USE_NEEDS_REBOOT
Alerta o usuário de que o sistema precisa ser reinicializado, se o arquivo estiver sendo usado durante uma operação de cópia.
SP_COPY_NOSKIP
Não dá ao usuário a opção de ignorar um arquivo.
SP_COPY_FORCE_NOOVERWRITE
Verifica se o arquivo de destino existe ou não e, se o destino existe, o arquivo não é substituído e o chamador não é notificado.
SP_COPY_FORCE_NEWER
Examina cada arquivo que está sendo copiado para identificar que seus recursos de versão (ou carimbos de data/hora para arquivos que não são de imagem) indicam que ele não é mais recente do que uma cópia existente no destino.
Se o arquivo que está sendo copiado não for mais recente, o arquivo não será copiado e o chamador não será notificado.
SP_COPY_WARNIFSKIP
Avisa que ignorar um arquivo pode afetar uma instalação se o usuário tentar ignorar um arquivo.
Use esse sinalizador para arquivos críticos do sistema.
Retornar valor
Se a função for bem-sucedida, o valor retornado será um valor diferente de zero.
Se a função falhar, o valor retornado será zero (0). Para obter informações de erro estendidas, chame GetLastError.
Comentários
SetupInstallFilesFromInfSection pode ser chamado várias vezes para enfileirar os arquivos especificados em várias seções INF. Depois que a fila for confirmada com êxito e os arquivos forem copiados, renomeados e/ou excluídos, SetupInstallFromInfSection poderá ser chamado para executar operações de instalação do Registro e do INI.
Se um diretório UNC for especificado como o diretório de destino de uma instalação de arquivo, você deverá garantir que o diretório UNC exista antes de chamar SetupInstallFilesFromInfSection. As funções de instalação não marcar para a existência de diretórios e não criam diretórios UNC. Se o diretório UNC de destino não existir, a instalação do arquivo falhará.
Observação
O cabeçalho setupapi.h define SetupInstallFilesFromInfSection como um alias que seleciona automaticamente a versão ANSI ou Unicode dessa função com base na definição da constante de pré-processador UNICODE. Misturar o uso do alias neutro de codificação com código que não seja neutro em codificação pode levar a incompatibilidades que resultam em erros de compilação ou de runtime. Para obter mais informações, consulte Convenções para protótipos de função.
Requisitos
Requisito | Valor |
---|---|
Cliente mínimo com suporte | Windows XP [somente aplicativos da área de trabalho] |
Servidor mínimo com suporte | Windows Server 2003 [somente aplicativos da área de trabalho] |
Plataforma de Destino | Windows |
Cabeçalho | setupapi.h |
Biblioteca | Setupapi.lib |
DLL | Setupapi.dll |