Compartilhar via


Função SetupInstallFilesFromInfSectionA (setupapi.h)

[Essa função está disponível para uso nos sistemas operacionais indicados na seção Requisitos. Ele pode estar alterado ou 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 será obrigado a ter privilégios para gravar no diretório de destino.

Sintaxe

WINSETUPAPI BOOL SetupInstallFilesFromInfSectionA(
  [in] HINF     InfHandle,
  [in] HINF     LayoutInfHandle,
  [in] HSPFILEQ FileQueue,
  [in] PCSTR    SectionName,
  [in] PCSTR    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 caracteresterminada nula.

[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 caracteresterminada nula.

[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 apenas 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 no dwFileVersionMS e dwFileVersionLS membros 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 a forma descompactada do nome de origem, por exemplo, se você copiar f:\x86\cmd.ex_ para \install\temp o resultado é 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 \install\temp\cmd.exe.

A parte nome do arquivo 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 pesquise 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 copiar 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.

Valor de retorno

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á 0 (zero). Para obter informações de erro estendidas, chame GetLastError.

Observações

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ão ser chamados 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, verifique se o diretório UNC existe antes de chamar SetupInstallFilesFromInfSection. As funções de instalação não verificam 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á.

Nota

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 do pré-processador UNICODE. A combinação do uso do alias neutro de codificação com código que não é neutro em codificação pode levar a incompatibilidades que resultam em erros de compilação ou de runtime. Para obter mais informações, consulte Conventions for Function Prototypes.

Requisitos

Requisito Valor
de cliente com suporte mínimo Windows XP [somente aplicativos da área de trabalho]
servidor com suporte mínimo Windows Server 2003 [somente aplicativos da área de trabalho]
da Plataforma de Destino Windows
cabeçalho setupapi.h
biblioteca Setupapi.lib
de DLL Setupapi.dll

Consulte também

Funções

Visão geral

SetupInstallFromInfSection

SetupInstallServicesFromInfSection