Функция SymSearch (dbghelp.h)
Выполняет поиск символов PDB, соответствующих указанным критериям.
Синтаксис
BOOL IMAGEAPI SymSearch(
[in] HANDLE hProcess,
[in] ULONG64 BaseOfDll,
[in, optional] DWORD Index,
[in, optional] DWORD SymTag,
[in, optional] PCSTR Mask,
[in, optional] DWORD64 Address,
[in] PSYM_ENUMERATESYMBOLS_CALLBACK 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
Параметры, управляющие поведением этой функции.
Возвращаемое значение
Если функция выполнена успешно, возвращается значение TRUE.
Если функция завершается сбоем, возвращается значение FALSE. Чтобы получить расширенные сведения об ошибке, вызовите Метод GetLastError.
Комментарии
Все функции DbgHelp, такие как эта, являются однопоточными. Таким образом, вызовы из нескольких потоков к этой функции, скорее всего, приведут к непредвиденному поведению или повреждению памяти. Чтобы избежать этого, необходимо синхронизировать все параллельные вызовы из нескольких потоков в эту функцию.
Чтобы вызвать версию юникода этой функции, определите DBGHELP_TRANSLATE_TCHAR.
Требования
Целевая платформа | Windows |
Header | dbghelp.h |
Библиотека | Dbghelp.lib |
DLL | Dbghelp.dll |
Распространяемые компоненты | DbgHelp.dll 6.2 или более поздней версии |