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


Функция 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

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

[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 или Юникод этой функции на основе определения константы препроцессора ЮНИКОД. Использование псевдонима, не зависящий от кодирования, с кодом, который не является нейтральным для кодировки, может привести к несоответствиям, которые приводят к ошибкам компиляции или времени выполнения. Дополнительные сведения см. в разделе Соглашения для прототипов функций.

Требования

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

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

Функции DbgHelp

SymEnumSymbolsProc