PSYMBOL_REGISTERED_CALLBACK

typedef BOOL (CALLBACK *PSYMBOL_REGISTERED_CALLBACK)(

HANDLE hProcess,  
ULONG ActionCode,  
PVOID CallbackData,  
PVOID UserContext  
);  

Parameters

hProcess

The process handle that was originally passed to SymInitialize.

ActionCode

The reason for the callback. The valid values are:

·CBA_DEFERRED_SYMBOL_LOAD_START

·CBA_DEFERRED_SYMBOL_LOAD_COMPLETE

·CBA_DEFERRED_SYMBOL_LOAD_FAILURE

·CBA_SYMBOLS_UNLOADED

·CBA_DUPLICATE_SYMBOL

CallbackData

A pointer to an action-specific data structure or NULL.

UserContext

The UserContext that is passed to SymRegisterCallback.

Return Values

Returning the value TRUE indicates success.

Returning the value FALSE indicates failure.

The result of returning TRUE or FALSE depends on the reason for the call.

Remarks

The calling application gets called through the registered callback function as a result of another call to one of IMAGEHLP's symbol handler functions. The calling application must be prepared for the possible side effects that this can cause. If the application has only one callback function that is being used by multiple threads, then care may be necessary to synchronize some types of data access while in the context of the callback function.