Função VerFindFileA (winver.h)
Determina onde instalar um arquivo com base em se ele localiza outra versão do arquivo no sistema. Os valores VerFindFile retorna nos buffers especificados são usados em uma chamada subsequente para a função VerInstallFile.
Sintaxe
DWORD VerFindFileA(
[in] DWORD uFlags,
[in] LPCSTR szFileName,
[in, optional] LPCSTR szWinDir,
[in] LPCSTR szAppDir,
[out] LPSTR szCurDir,
[in, out] PUINT puCurDirLen,
[out] LPSTR szDestDir,
[in, out] PUINT puDestDirLen
);
Parâmetros
[in] uFlags
Tipo: DWORD
Esse parâmetro pode ser o valor a seguir. Todos os outros bits são reservados.
[in] szFileName
Tipo: LPCTSTR
O nome do arquivo a ser instalado. Inclua apenas o nome e a extensão do arquivo, não um caminho.
[in, optional] szWinDir
Tipo: LPCTSTR
O diretório no qual o Windows está em execução ou será executado. Essa cadeia de caracteres é retornada pela função GetWindowsDirectory
[in] szAppDir
Tipo: LPCTSTR
O diretório em que o programa de instalação está instalando um conjunto de arquivos relacionados. Se o programa de instalação estiver instalando um aplicativo, esse será o diretório em que o aplicativo residirá. Esse parâmetro também aponta para o diretório atual do aplicativo, a menos que especificado de outra forma.
[out] szCurDir
Tipo: LPWSTR
Um buffer que recebe o caminho para uma versão atual do arquivo que está sendo instalado. O caminho é uma cadeia de caracteres com término zero. Se uma versão atual não estiver instalada, o buffer conterá uma cadeia de caracteres de comprimento zero. O buffer deve ter pelo menos _MAX_PATH caracteres, embora isso não seja necessário.
[in, out] puCurDirLen
Tipo: PUINT
O comprimento do buffer de szCurDir. Esse ponteiro não deve ser NULL.
Quando a função retorna, lpuCurDirLen contém o tamanho, em caracteres, dos dados retornados em szCurDir, incluindo o caractere nulo de encerramento. Se o buffer for muito pequeno para conter todos os dados, lpuCurDirLen será o tamanho do buffer necessário para manter o caminho.
[out] szDestDir
Tipo: LPTSTR
Um buffer que recebe o caminho para o local de instalação recomendado pelo VerFindFile. O caminho é uma cadeia de caracteres com término zero. O buffer deve ter pelo menos _MAX_PATH caracteres, embora isso não seja necessário.
[in, out] puDestDirLen
Tipo: PUINT
Um ponteiro para uma variável que especifica o comprimento do buffer de szDestDir. Esse ponteiro não deve ser NULL.
Quando a função retorna, lpuDestDirLen contém o tamanho, em caracteres, dos dados retornados em szDestDir, incluindo o caractere nulo de terminação. Se o buffer for muito pequeno para conter todos os dados, lpuDestDirLen será o tamanho do buffer necessário para manter o caminho.
Valor de retorno
Tipo: DWORD
O valor retornado é uma máscara de bits que indica o status do arquivo. Pode ser um ou mais dos valores a seguir. Todos os outros valores são reservados.
Código/valor de retorno | Descrição |
---|---|
|
A versão atualmente instalada do arquivo não está no destino recomendado. |
|
O sistema está usando a versão atualmente instalada do arquivo; portanto, o arquivo não pode ser substituído ou excluído. |
|
Pelo menos um dos buffers era muito pequeno para conter a cadeia de caracteres correspondente. Um aplicativo deve verificar os buffers de saída para determinar qual buffer era muito pequeno. |
Observações
Essa função funciona em imagens de arquivo de 16, 32 e 64 bits.
Se o parâmetro dwFlags indicar que o arquivo é privado para este aplicativo (não VFFF_ISSHAREDFILE), VerFindFile recomenda instalar o arquivo no diretório do aplicativo. Caso contrário, se o sistema estiver executando uma cópia compartilhada do sistema, a função recomendará a instalação do arquivo no diretório do Windows. Se o sistema estiver executando uma cópia privada do sistema, a função recomendará a instalação do arquivo no diretório do sistema.
Nota
O cabeçalho winver.h define VerFindFile 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 2000 Professional [somente aplicativos da área de trabalho] |
servidor com suporte mínimo | Windows 2000 Server [somente aplicativos da área de trabalho] |
da Plataforma de Destino |
Windows |
cabeçalho | winver.h (inclua Windows.h) |
biblioteca | Version.lib |
de DLL |
Api-ms-win-core-version-l1-1-0.dll |
Consulte também
Conceitual
outros recursos
de referência de