Função SetupInstallFromInfSectionA (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 SetupInstallFromInfSection executa todas as diretivas em um arquivo INF seção Instalar.
Se o registro ou arquivo for modificado, o chamador dessa função deverá ter privilégios para gravar no sistema ou no diretório de destino.
Sintaxe
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
Ponteiro opcional para o identificador de janela para a janela que possui todas as caixas de diálogo que são geradas durante a instalação, como para solicitação de disco ou cópia de arquivo. Se Proprietário não for especificado, essas caixas de diálogo se tornarão janelas de nível superior.
InfHandle
Manipule para o arquivo INF que contém a seção a ser processada.
SectionName
Nome da seção Instalar no arquivo INF a ser processado.
Flags
Controla quais ações executar. Os sinalizadores podem ser uma combinação dos valores a seguir.
SPINST_INIFILES
Executar operações de arquivo INI (UpdateInis, linhas UpdateIniFields na seção Instalar que está sendo processada).
SPINST_REGISTRY
Executar operações do Registro (AddReg, linhas de DelReg na seção Instalar que está sendo processada).
SPINST_INI2REG
Executar o arquivo INI em operações de registro (linhas ini2Reg na seção Instalar sendo processada).
SPINST_LOGCONFIG
Esse sinalizador só é usado ao instalar um driver de dispositivo.
Executar operações de configuração lógica (linhas do LogConf na seção Instalar que está sendo processada). Esse sinalizador só será usado se DeviceInfoSet e DeviceInfoData forem especificados.
Para obter mais informações sobre como instalar drivers de dispositivo, logConf, DeviceInfoSetou DeviceInfoData, consulte o Guia do Programador de DDK.
SPINST_FILES
Executar operações de arquivo (CopyFiles, DelFiles, linhas RenFiles na seção Instalar que está sendo processada).
SPINST_ALL
Execute todas as operações de instalação.
SPINST_REGISTERCALLBACKAWARE
Ao usar a diretiva RegisterDlls INF para registrar automaticamente DLLs no Windows 2000, os chamadores de SetupInstallFromInfSection podem receber notificações em cada arquivo conforme ele é registrado ou não registrado. Para enviar uma notificação SPFILENOTIFY_STARTREGISTRATION ou SPFILENOTIFY_ENDREGISTRATION à rotina de retorno de chamada, inclua SPINST_REGISTERCALLBACKAWARE mais SPINST_REGSVR ou SPINST_UNREGSVR. O chamador também deve definir o parâmetro
SPINST_REGSVR
Para enviar uma notificação para a rotina de retorno de chamada ao registrar um arquivo, inclua SPINST_REGISTERCALLBACKAWARE mais SPINST_REGSVR em Flags. O chamador também deve especificar o parâmetro msgHandler.
SPINST_UNREGSVR
Para enviar uma notificação para a rotina de retorno de chamada ao cancelar o registro de um arquivo, inclua SPINST_REGISTERCALLBACKAWARE mais SPINST_UNREGSVR no
RelativeKeyRoot
Parâmetro opcional que deve ser especificado se Flags incluir SPINST_REGISTRY ou SPINST_INI2REG. Manipule para uma chave do Registro a ser usada como a raiz quando o arquivo INF especifica HKR como a chave. Observe que esse parâmetro será ignorado se SetupInstallFromInfSection for chamado com o DeviceInfoSet e deviceInfoData conjunto opcional.
SourceRootPath
Raiz de origem para cópias de arquivo. Um exemplo seria A:\ ou \pegasus\win\install. Se Flags incluir SPINST_FILES e SourceRootPath for NULL, o sistema fornecerá um caminho raiz padrão.
CopyFlags
Parâmetro opcional que deve ser especificado se Flags incluir SPINST_FILES.
Especifica os sinalizadores a serem passados para a função
SP_COPY_DELETESOURCE
Exclua o arquivo de origem após a cópia bem-sucedida. O chamador não será notificado se a exclusão falhar.
SP_COPY_REPLACEONLY
Copie o arquivo somente se isso substituir um arquivo no caminho de destino.
SP_COPY_NEWER_OR_SAME
Examine cada arquivo que está sendo copiado para ver se seus recursos de versão indicam que ele é a mesma versão ou não mais recente do que uma cópia existente no destino.
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. 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.
Se o arquivo de origem não for igual na versão ou mais recente e CopyMsgHandler for especificado, o chamador será notificado e poderá cancelar a cópia. Se CopyMsgHandler não for especificado, o arquivo não será copiado.
SP_COPY_NEWER_ONLY
Examine cada arquivo que está sendo copiado para ver 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
Verifique se o arquivo de destino existe e, nesse caso, notifique o chamador que pode vetar a cópia. Se CopyMsgHandler não for especificado, o arquivo não será substituído.
SP_COPY_NODECOMP
Não descompacte o arquivo. Quando esse sinalizador é definido, o arquivo de destino não recebe a forma descompactada do nome de origem (se apropriado). Por exemplo, copiar f:/x86\cmd.ex_ para \install\temp resulta em um arquivo de destino de \install\temp\cmd.ex_. Se o sinalizador de SP_COPY_NODECOMP não tiver sido especificado, o arquivo será descompactado e o destino será chamado \install\temp\cmd.exe. A parte do nome do arquivo de DestinationName, se especificada, é removida e substituída pelo nome do arquivo de origem. Quando SP_COPY_NODECOMP é especificado, nenhuma informação de idioma ou versão pode ser verificada.
SP_COPY_LANGUAGEAWARE
Examine cada arquivo que está sendo copiado para ver se seu idioma difere do idioma de qualquer arquivo existente já no destino. Nesse caso, e CopyMsgHandler for especificado, o chamador será notificado e poderá cancelar a cópia. Se CopyMsgHandler não for especificado, o arquivo não será copiado.
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
Se o destino existir, comporte-se como se estivesse em uso e enfileira o arquivo para copiar na próxima reinicialização do sistema.
SP_COPY_IN_USE_NEEDS_REBOOT
Se o arquivo estiver em uso durante a operação de cópia, informe ao usuário que o sistema precisa ser reinicializado. Esse sinalizador só é usado quando se chama SetupPromptReboot ou SetupScanFileQueue.
SP_COPY_NOSKIP
Não dê ao usuário a opção de ignorar um arquivo.
SP_COPY_FORCE_NOOVERWRITE
Verifique se o arquivo de destino existe e, nesse caso, o arquivo não será substituído. O chamador não foi notificado.
SP_COPY_FORCE_NEWER
Examine cada arquivo que está sendo copiado para ver se 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. O chamador não foi notificado.
SP_COPY_WARNIFSKIP
Se o usuário tentar ignorar um arquivo, avise-o de que ignorar um arquivo pode afetar a instalação. (Usado para arquivos críticos do sistema.)
MsgHandler
Ponteiro para a rotina de retorno de chamada. A rotina de retorno de chamada deve estar no formato de FileCallback . Consulte Notificações para obter mais informações.
Esse parâmetro será opcional somente se o parâmetro Flags não incluir SPINST_FILES, SPINST_REGISTERCALLBACKAWARE mais SPINST_REGSVR ou SPINST_UNREGSVR.
MsgHandler deverá ser definido se Flags incluir SPINST_FILES. Nesse caso, a notificação é enviada para a rotina de retorno de chamada quando a fila de arquivos é confirmada com SetupCommitFileQueue.
MsgHandler deverá ser definida se Flags incluir SPINST_REGISTERCALLBACKAWARE mais SPINST_REGSVR ou SPINST_UNREGSVR. Nesse caso, um SPFILENOTIFY_STARTREGISTRATION ou SPFILENOTIFY_ENDREGISTRATION é enviado para a rotina de retorno de chamada uma vez cada vez que um arquivo é registrado ou não registrado usando a diretiva RegisterDlls INF no Windows 2000.
Context
Valor a ser passado para a função de retorno de chamada quando a fila de arquivos criada por essa rotina internamente é confirmada por meio de SetupCommitFileQueue. O parâmetro
DeviceInfoSet
Ponteiro opcional para um identificador para um conjunto de informações do dispositivo. Para obter mais informações sobre as funções de instalação do Instalador de Dispositivos, consulte o Guia do Programador de DDK.
DeviceInfoData
Ponteiro opcional para um ponteiro para a estrutura SP_DEVINFO_DATA que fornece um contexto para um elemento específico no conjunto especificado por DeviceInfoSet. Para obter mais informações sobre as funções de instalação do Instalador de Dispositivos, consulte o guia do programador de DDK.
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á zero. Para obter informações de erro estendidas, chame GetLastError.
Observações
Se um diretório UNC for especificado como o diretório de destino de uma operação de cópia de arquivo, você deverá garantir que ele exista antes de chamar SetupInstallFromInfSection. As funções de instalação não verificam a existência e não criam diretórios UNC. Se o diretório UNC de destino não existir, a instalação do arquivo falhará.
Essa função requer um arquivo INF do Windows. Talvez não haja suporte para alguns formatos de arquivo INF mais antigos.
Nota
O cabeçalho setupapi.h define SetupInstallFromInfSection 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 |
conjunto de API | ext-ms-win-setupapi-classinstallers-l1-1-2 (introduzido no Windows 10, versão 10.0.14393) |