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


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

Выполняет поиск символов PDB, удовлетворяющих указанным критериям.

Синтаксис

BOOL IMAGEAPI SymSearchW(
  [in]           HANDLE                          hProcess,
  [in]           ULONG64                         BaseOfDll,
  [in, optional] DWORD                           Index,
  [in, optional] DWORD                           SymTag,
  [in, optional] PCWSTR                          Mask,
  [in, optional] DWORD64                         Address,
  [in]           PSYM_ENUMERATESYMBOLS_CALLBACKW EnumSymbolsCallback,
  [in, optional] PVOID                           UserContext,
  [in]           DWORD                           Options
);

Параметры

[in] hProcess

Дескриптор процесса. Этот дескриптор должен быть передан в функцию SymInitialize.

[in] BaseOfDll

Базовый адрес модуля. Если это значение равно нулю и Маска содержит восклицательный знак (!), функция выглядит по модулям. Если это значение равно нулю и Маска не содержит восклицательный знак, функция использует область, установленную функцией SymSetContext.

[in, optional] Index

Уникальное значение для символа.

[in, optional] SymTag

Классификация PDB. Эти значения определены в Dbghelp.h в типе перечисления SymTagEnum. Описание см. в документации по PDB.

[in, optional] Mask

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

[in, optional] Address

Адрес символа.

[in] EnumSymbolsCallback

Функция обратного вызова SymEnumSymbolsProc, которая получает сведения о символах.

[in, optional] UserContext

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

[in] Options

Параметры, управляющие поведением этой функции.

Ценность Значение
SYMSEARCH_ALLITEMS
0x08
Включите все символы и другие данные в PDB-файлы.

DbgHelp 6.6 и более ранних версий: Это значение не поддерживается.

SYMSEARCH_GLOBALSONLY
0x04
Поиск только глобальных символов.
SYMSEARCH_MASKOBJS
0x01
Только для внутреннего использования.
SYMSEARCH_RECURSE
0x02
Рекурс из верхней части, чтобы найти все символы.

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

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

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

Замечания

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

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

Заметка

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

Требования

Требование Ценность
целевая платформа Виндоус
заголовка dbghelp.h
библиотеки Dbghelp.lib
DLL Dbghelp.dll
распространяемый DbgHelp.dll 6.2 или более поздней версии

См. также

функций DbgHelp

SymEnumSymbolsProc