SymEnumSourceFiles function (dbghelp.h)

Enumerates all source files in a process.


BOOL IMAGEAPI SymEnumSourceFiles(
  [in]           HANDLE                        hProcess,
  [in]           ULONG64                       ModBase,
  [in, optional] PCSTR                         Mask,
  [in]           PSYM_ENUMSOURCEFILES_CALLBACK cbSrcFiles,
  [in, optional] PVOID                         UserContext


[in] hProcess

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

[in] ModBase

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] Mask

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

If this parameter is NULL, the function will enumerate all files.

[in] cbSrcFiles

Pointer to a SymEnumSourceFilesProc callback function that receives the source file information.

[in, optional] UserContext

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.

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.


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.


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