Функция VerFindFileA (winver.h)
Определяет, где установить файл на основе того, найдите ли он другую версию файла в системе. Значения VerFindFile возвращаются в указанных буферах при последующем вызове функции VerInstallFile.
Синтаксис
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
);
Параметры
[in] uFlags
Тип: DWORD
Этот параметр может быть следующим значением. Все остальные биты зарезервированы.
Ценность | Значение |
---|---|
|
Исходный файл можно совместно использовать несколькими приложениями. Приложение может использовать эти сведения для определения места копирования файла. |
[in] szFileName
Тип: LPCTSTR
Имя установленного файла. Включите только имя файла и расширение, а не путь.
[in, optional] szWinDir
Тип: LPCTSTR
Каталог, в котором работает Windows или будет выполняться. Эта строка возвращается функцией GetWindowsDirectory.
[in] szAppDir
Тип: LPCTSTR
Каталог, в котором программа установки устанавливает набор связанных файлов. Если программа установки устанавливает приложение, это каталог, в котором будет находиться приложение. Этот параметр также указывает на текущий каталог приложения, если иное не указано.
[out] szCurDir
Тип: LPWSTR
Буфер, получающий путь к текущей версии установленного файла. Путь — это строка, завершающаяся с нуля. Если текущая версия не установлена, буфер будет содержать строку нулевой длины. Буфер должен быть по крайней мере _MAX_PATH символов длиной, хотя это не обязательно.
[in, out] puCurDirLen
Тип: PUINT
Длина буфера szCurDir. Этот указатель не должен быть null.
Когда функция возвращается, lpuCurDirLen содержит размер в символах данных, возвращаемых в szCurDir, включая конечный символ NULL. Если буфер слишком мал, чтобы содержать все данные, lpuCurDirLen будет размером буфера, необходимого для хранения пути.
[out] szDestDir
Тип: LPTSTR
Буфер, получающий путь к расположению установки, рекомендуемый VerFindFile. Путь — это строка, завершающаяся с нуля. Буфер должен быть по крайней мере _MAX_PATH символов длиной, хотя это не обязательно.
[in, out] puDestDirLen
Тип: PUINT
Указатель на переменную, указывающую длину буфера szDest Dir. Этот указатель не должен быть null.
Когда функция возвращается, lpuDestDirLen содержит размер в символах данных, возвращаемых в szDestDir, включая завершающий символ NULL. Если буфер слишком мал, чтобы содержать все данные, lpuDestDirLen будет размером буфера, необходимого для хранения пути.
Возвращаемое значение
Тип: DWORD
Возвращаемое значение представляет собой битовую маску, указывающую состояние файла. Это может быть одно или несколько следующих значений. Все остальные значения зарезервированы.
Возврат кода или значения | Описание |
---|---|
|
Текущая установленная версия файла не находится в рекомендуемом месте назначения. |
|
Система использует текущую установленную версию файла; поэтому файл нельзя перезаписать или удалить. |
|
По крайней мере один из буферов слишком мал, чтобы содержать соответствующую строку. Приложение должно проверить выходные буферы, чтобы определить, какой буфер слишком мал. |
Замечания
Эта функция работает на 16-, 32-разрядных и 64-разрядных образах файлов.
VerFindFile выполняет поиск копии указанного файла с помощью функции OpenFile. Однако он определяет системный каталог из указанного каталога Windows или выполняет поиск по пути.
Если параметр dwFlags
Заметка
Заголовок winver.h определяет VerFindFile как псевдоним, который автоматически выбирает версию ANSI или Юникод этой функции на основе определения константы препроцессора ЮНИКОДа. Сочетание использования псевдонима, нейтрального для кодирования, с кодом, не зависящим от кодирования, может привести к несоответствиям, которые приводят к ошибкам компиляции или среды выполнения. Дополнительные сведения см. в соглашениях о прототипах функций.
Требования
Требование | Ценность |
---|---|
минимальные поддерживаемые клиентские | Windows 2000 Профессиональный [только классические приложения] |
минимальный поддерживаемый сервер | Windows 2000 Server [только классические приложения] |
целевая платформа | Виндоус |
заголовка | winver.h (включая Windows.h) |
библиотеки |
Version.lib |
DLL | Api-ms-win-core-version-l1-1-0.dll |
См. также
концептуальные
другие ресурсы
Справочник