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


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

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

Синтаксис

HANDLE IMAGEAPI FindExecutableImageEx(
  [in]           PCSTR                   FileName,
  [in]           PCSTR                   SymbolPath,
  [out]          PSTR                    ImageFilePath,
  [in, optional] PFIND_EXE_FILE_CALLBACK 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.

Требования

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

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

Функции DbgHelp

FindExecutableImageProc

SymGetSearchPath