Поделиться через


Функция FindExecutableImageExW (dbghelp.h)

Находит указанный исполняемый файл.

Синтаксис

HANDLE IMAGEAPI FindExecutableImageExW(
  [in]           PCWSTR                   FileName,
  [in]           PCWSTR                   SymbolPath,
  [out]          PWSTR                    ImageFilePath,
  [in, optional] PFIND_EXE_FILE_CALLBACKW Callback,
  [in, optional] PVOID                    CallerData
);

Параметры

[in] FileName

Имя файла символов, который необходимо найти. Этот параметр может быть частичным путем.

[in] SymbolPath

Путь, по которому находятся файлы символов. Эта строка может содержать несколько путей, разделенных точкой с запятой. Чтобы получить путь к символу, используйте функцию SymGetSearchPath .

[out] ImageFilePath

Указатель на буфер, получающий полный путь к исполняемому файлу.

[in, optional] Callback

Определяемая приложением функция обратного вызова, которая проверяет, найден ли правильный исполняемый файл или функция должна продолжить поиск. Дополнительные сведения см. в разделе FindExecutableImageProc.

Этот параметр может принимать значение NULL.

[in, optional] CallerData

Необязательные пользовательские данные для функции обратного вызова. Этот параметр может принимать значение NULL.

Возвращаемое значение

Если функция выполняется успешно, возвращаемое значение представляет собой открытый дескриптор исполняемого файла.

Если функция завершается сбоем, возвращается значение NULL. Чтобы получить расширенные сведения об ошибке, вызовите Метод GetLastError.

Комментарии

Функция FindExecutableImageEx предоставляется, поэтому исполняемые файлы можно найти в нескольких разных каталогах с помощью одного вызова функции. Если параметр SymbolPath содержит несколько путей, функция выполняет поиск исполняемого файла в каждом указанном дереве каталогов. При обнаружении файла поиск останавливается. Таким образом, обязательно укажите SymbolPath с путями в правильном порядке.

Все функции DbgHelp, такие как эта, являются однопоточными. Таким образом, вызовы из нескольких потоков к этой функции, скорее всего, приведут к непредвиденному поведению или повреждению памяти. Чтобы избежать этого, необходимо синхронизировать все параллельные вызовы из нескольких потоков в эту функцию.

Чтобы вызвать версию юникода этой функции, определите DBGHELP_TRANSLATE_TCHAR.

Примечание

Заголовок dbghelp.h определяет FindExecutableImageEx как псевдоним, который автоматически выбирает версию ANSI или Юникод этой функции на основе определения константы препроцессора ЮНИКОД. Использование псевдонима, не зависящий от кодирования, с кодом, который не является нейтральным для кодировки, может привести к несоответствиям, которые приводят к ошибкам компиляции или времени выполнения. Дополнительные сведения см. в разделе Соглашения для прототипов функций.

Требования

Требование Значение
Целевая платформа Windows
Header dbghelp.h
Библиотека Dbghelp.lib
DLL Dbghelp.dll
Распространяемые компоненты DbgHelp.dll 5.1 или более поздней версии

См. также раздел

Функции DbgHelp

FindExecutableImageProc

SymGetSearchPath