Функция SymEnumSymbols (dbghelp.h)
Перечисляет все символы в процессе.
Синтаксис
BOOL IMAGEAPI SymEnumSymbols(
[in] HANDLE hProcess,
[in] ULONG64 BaseOfDll,
[in, optional] PCSTR Mask,
[in] PSYM_ENUMERATESYMBOLS_CALLBACK EnumSymbolsCallback,
[in, optional] PVOID UserContext
);
Параметры
[in] hProcess
Дескриптор процесса. Этот дескриптор должен быть ранее передан в функцию SymInitialize .
[in] BaseOfDll
Базовый адрес модуля. Если это значение равно нулю и Mask содержит восклицательный знак (!), функция выполняет поиск по модулям. Если это значение равно нулю и Mask не содержит восклицательный знак, функция использует область, установленный функцией SymSetContext.
[in, optional] Mask
Строка с подстановочными знаками, указывающая имена перечисляемых символов. При необходимости текст может содержать подстановочные знаки "*" и "?".
Чтобы указать конкретный модуль или набор модулей, начинайте текст строкой с подстановочными знаками, указывающей модуль, а затем восклицательным знаком. При указании модуля BaseOfDll игнорируется.
Значение | Значение |
---|---|
|
Если baseOfDll не равен нулю, то SymEnumSymbols будет искать глобальный символ с именем foo.
Если значение BaseOfDll равно нулю, SymEnumSymbols будет искать локальный символ с именем foo в область, установленной последним вызовом функции SymSetContext. |
|
Если BaseOfDll не равен нулю, то SymEnumSymbols будет искать глобальный символ, который начинается с foo и содержит один дополнительный символ, например "дурак" и "фут".
Если BaseOfDll равно нулю, то SymEnumSymbols будет искать символ, который начинается с "foo" и содержит один дополнительный символ, например "fool" и "foot". Поиск будет находиться в область, установленном последним вызовом функции SymSetContext. |
|
SymEnumSymbols будет искать в каждом загруженном модуле, который начинается с текста foo для символа с именем "bar". Он может найти такие совпадения, как "foot!bar", "footlocker!bar" и "fool!bar". |
|
SymEnumSymbols перечисляет каждый символ в каждом загруженном модуле. |
[in] EnumSymbolsCallback
Функция обратного вызова SymEnumSymbolsProc , которая получает сведения о символах.
[in, optional] UserContext
Определяемое пользователем значение, передаваемое в функцию обратного вызова, или ЗНАЧЕНИЕ NULL. Этот параметр обычно используется приложением для передачи указателя на структуру данных, которая предоставляет контекст для функции обратного вызова.
Возвращаемое значение
Если функция выполняется успешно, возвращается значение TRUE.
Если функция завершается сбоем, возвращается значение FALSE. Чтобы получить расширенные сведения об ошибке, вызовите Метод GetLastError.
Комментарии
Все функции DbgHelp, такие как эта, являются однопоточными. Поэтому вызовы из нескольких потоков к этой функции, скорее всего, приведут к непредвиденному поведению или повреждению памяти. Чтобы избежать этого, необходимо синхронизировать все параллельные вызовы из нескольких потоков в эту функцию.
Чтобы вызвать версию этой функции в Юникоде, определите DBGHELP_TRANSLATE_TCHAR.
Примеры
Пример см. в разделе Перечисление символов.
Требования
Целевая платформа | Windows |
Header | dbghelp.h |
Библиотека | Dbghelp.lib |
DLL | Dbghelp.dll |
Распространяемые компоненты | DbgHelp.dll 5.1 или более поздней версии |