Функция 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
Указатель на переменную, указывающую длину буфера szDestDir . Этот указатель не должен иметь значение NULL.
При возврате функции lpuDestDirLen содержит размер данных, возвращаемых в szDestDir, в том числе завершающий символ NULL. Если буфер слишком мал, чтобы содержать все данные, lpuDestDirLen будет иметь размер буфера, необходимый для хранения пути.
Возвращаемое значение
Тип: DWORD
Возвращаемое значение — это битовая маска, указывающая состояние файла. Это может быть одно или несколько из следующих значений. Все остальные значения зарезервированы.
Возвращаемый код или значение | Описание |
---|---|
|
Установленная в данный момент версия файла не находится в рекомендуемом назначении. |
|
Система использует текущую установленную версию файла; Поэтому файл не может быть перезаписан или удален. |
|
По крайней мере один из буферов был слишком мал, чтобы содержать соответствующую строку. Приложение должно проверка выходные буферы, чтобы определить, какой буфер был слишком мал. |
Комментарии
Эта функция работает с 16-, 32- и 64-разрядными образами файлов.
VerFindFile выполняет поиск копии указанного файла с помощью функции OpenFile . Однако он определяет системный каталог из указанного каталога Windows или выполняет поиск по пути.
Если параметр dwFlags указывает, что файл является частным для этого приложения (не VFFF_ISSHAREDFILE), VerFindFile рекомендует установить файл в каталог приложения. В противном случае, если система использует общую копию системы, функция рекомендует установить файл в каталоге Windows. Если в системе выполняется закрытая копия системы, функция рекомендует установить файл в системный каталог.
Примечание
Заголовок winver.h определяет VerFindFile в качестве псевдонима, который автоматически выбирает версию ANSI или Юникод этой функции на основе определения константы препроцессора UNICODE. Сочетание использования псевдонима, не зависящий от кодировки, с кодом, не зависящим от кодировки, может привести к несоответствиям, которые приводят к ошибкам компиляции или среды выполнения. Дополнительные сведения см. в разделе Соглашения для прототипов функций.
Требования
Требование | Значение |
---|---|
Минимальная версия клиента | Windows 2000 Professional [только классические приложения] |
Минимальная версия сервера | Windows 2000 Server [только классические приложения] |
Целевая платформа | Windows |
Header | winver.h (включая Windows.h) |
Библиотека | Version.lib |
DLL | Api-ms-win-core-version-l1-1-0.dll |
См. также раздел
Основные понятия
Другие ресурсы
Справочные материалы