Función VerFindFileW (winver.h)

Determina dónde instalar un archivo en función de si localiza otra versión del archivo en el sistema. Los valores VerFindFile devueltos en los búferes especificados se usan en una llamada posterior a la función VerInstallFile .

Sintaxis

DWORD VerFindFileW(
  [in]           DWORD   uFlags,
  [in]           LPCWSTR szFileName,
  [in, optional] LPCWSTR szWinDir,
  [in]           LPCWSTR szAppDir,
  [out]          LPWSTR  szCurDir,
  [in, out]      PUINT   puCurDirLen,
  [out]          LPWSTR  szDestDir,
  [in, out]      PUINT   puDestDirLen
);

Parámetros

[in] uFlags

Tipo: DWORD

Este parámetro puede ser el siguiente valor. Todos los demás bits están reservados.

Valor Significado
VFFF_ISSHAREDFILE
0x0001
Varias aplicaciones pueden compartir el archivo de origen. Una aplicación puede usar esta información para determinar dónde se debe copiar el archivo.

[in] szFileName

Tipo: LPCTSTR

Nombre del archivo que se va a instalar. Incluya solo el nombre de archivo y la extensión, no una ruta de acceso.

[in, optional] szWinDir

Tipo: LPCTSTR

Directorio en el que Se ejecuta Windows o se ejecutará. La función GetWindowsDirectory devuelve esta cadena.

[in] szAppDir

Tipo: LPCTSTR

Directorio donde el programa de instalación está instalando un conjunto de archivos relacionados. Si el programa de instalación está instalando una aplicación, este es el directorio donde residirá la aplicación. Este parámetro también apunta al directorio actual de la aplicación a menos que se especifique lo contrario.

[out] szCurDir

Tipo: LPWSTR

Búfer que recibe la ruta de acceso a una versión actual del archivo que se va a instalar. La ruta de acceso es una cadena terminada en cero. Si no se instala una versión actual, el búfer contendrá una cadena de longitud cero. El búfer debe tener al menos _MAX_PATH caracteres, aunque no es necesario.

[in, out] puCurDirLen

Tipo: PUINT

Longitud del búfer szCurDir . Este puntero no debe ser NULL.

Cuando la función devuelve, lpuCurDirLen contiene el tamaño, en caracteres, de los datos devueltos en szCurDir, incluido el carácter nulo de terminación. Si el búfer es demasiado pequeño para contener todos los datos, lpuCurDirLen será el tamaño del búfer necesario para contener la ruta de acceso.

[out] szDestDir

Tipo: LPTSTR

Búfer que recibe la ruta de acceso a la ubicación de instalación recomendada por VerFindFile. La ruta de acceso es una cadena terminada en cero. El búfer debe tener al menos _MAX_PATH caracteres, aunque no es necesario.

[in, out] puDestDirLen

Tipo: PUINT

Puntero a una variable que especifica la longitud del búfer szDestDir . Este puntero no debe ser NULL.

Cuando la función devuelve, lpuDestDirLen contiene el tamaño, en caracteres, de los datos devueltos en szDestDir, incluido el carácter nulo de terminación. Si el búfer es demasiado pequeño para contener todos los datos, lpuDestDirLen será el tamaño del búfer necesario para contener la ruta de acceso.

Valor devuelto

Tipo: DWORD

El valor devuelto es una máscara de bits que indica el estado del archivo. Este puede ser uno o varios de los valores siguientes. Todos los demás valores están reservados.

Código o valor devuelto Descripción
VFF_CURNEDEST
0x0001
La versión instalada actualmente del archivo no está en el destino recomendado.
VFF_FILEINUSE
0x0002
El sistema usa la versión instalada actualmente del archivo; por lo tanto, el archivo no se puede sobrescribir ni eliminar.
VFF_BUFFTOOSMALL
0x0004
Al menos uno de los búferes era demasiado pequeño para contener la cadena correspondiente. Una aplicación debe comprobar los búferes de salida para determinar qué búfer era demasiado pequeño.

Comentarios

Esta función funciona en imágenes de archivo de 16, 32 y 64 bits.

VerFindFile busca una copia del archivo especificado mediante la función OpenFile . Sin embargo, determina el directorio del sistema del directorio de Windows especificado o busca la ruta de acceso.

Si el parámetro dwFlags indica que el archivo es privado para esta aplicación (no VFFF_ISSHAREDFILE), VerFindFile recomienda instalar el archivo en el directorio de la aplicación. De lo contrario, si el sistema ejecuta una copia compartida del sistema, la función recomienda instalar el archivo en el directorio de Windows. Si el sistema ejecuta una copia privada del sistema, la función recomienda instalar el archivo en el directorio del sistema.

Nota

El encabezado winver.h define VerFindFile 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 neutro de codificación con código que no es neutral de codificación puede provocar discrepancias que dan lugar a errores de compilación o en 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 2000 Professional [solo aplicaciones de escritorio]
Servidor mínimo compatible Windows 2000 Server [solo aplicaciones de escritorio]
Plataforma de destino Windows
Encabezado winver.h (incluya Windows.h)
Library Version.lib
Archivo DLL Api-ms-win-core-version-l1-1-0.dll

Consulte también

Conceptual

GetWindowsDirectory

OpenFile

Otros recursos

Referencia

VerInstallFile

Información de versión