SymSearchW function (dbghelp.h)

Searches for PDB symbols that meet the specified criteria.

Syntax

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
);

Parameters

[in] hProcess

A handle to a process. This handle must have been previously passed to the SymInitialize function.

[in] BaseOfDll

The base address of the module. If this value is zero and Mask contains an exclamation point (!), the function looks across modules. If this value is zero and Mask does not contain an exclamation point, the function uses the scope established by the SymSetContext function.

[in, optional] Index

A unique value for the symbol.

[in, optional] SymTag

The PDB classification. These values are defined in Dbghelp.h in the SymTagEnum enumeration type. For descriptions, see the PDB documentation.

[in, optional] Mask

A wildcard expression that indicates the names of the symbols to be enumerated. To specify a module name, use the !mod syntax.

[in, optional] Address

The address of the symbol.

[in] EnumSymbolsCallback

A SymEnumSymbolsProc callback function that receives the symbol information.

[in, optional] UserContext

A user-defined value that is passed to the callback function, or NULL. This parameter is typically used by an application to pass a pointer to a data structure that provides context for the callback function.

[in] Options

The options that control the behavior of this function.

Value Meaning
SYMSEARCH_ALLITEMS
0x08
Include all symbols and other data in the .pdb files.

DbgHelp 6.6 and earlier:  This value is not supported.

SYMSEARCH_GLOBALSONLY
0x04
Search only for global symbols.
SYMSEARCH_MASKOBJS
0x01
For internal use only.
SYMSEARCH_RECURSE
0x02
Recurse from the top to find all symbols.

Return value

If the function succeeds, the return value is TRUE.

If the function fails, the return value is FALSE. To retrieve extended error information, call GetLastError.

Remarks

All DbgHelp functions, such as this one, are single threaded. Therefore, calls from more than one thread to this function will likely result in unexpected behavior or memory corruption. To avoid this, you must synchronize all concurrent calls from more than one thread to this function.

To call the Unicode version of this function, define DBGHELP_TRANSLATE_TCHAR.

Note

The dbghelp.h header defines SymSearch as an alias which automatically selects the ANSI or Unicode version of this function based on the definition of the UNICODE preprocessor constant. Mixing usage of the encoding-neutral alias with code that not encoding-neutral can lead to mismatches that result in compilation or runtime errors. For more information, see Conventions for Function Prototypes.

Requirements

Requirement Value
Target Platform Windows
Header dbghelp.h
Library Dbghelp.lib
DLL Dbghelp.dll
Redistributable DbgHelp.dll 6.2 or later

See also

DbgHelp Functions

SymEnumSymbolsProc