PSYMBOL_REGISTERED_CALLBACK 콜백 함수(dbghelp.h)
SymRegisterCallback64 함수와 함께 사용되는 애플리케이션 정의 콜백 함수입니다. 기호 처리기에서 호출됩니다.
PSYMBOL_REGISTERED_CALLBACK64 형식은 이 콜백 함수에 대한 포인터를 정의합니다. SymRegisterCallbackProc64 는 애플리케이션 정의 함수 이름의 자리 표시자입니다.
구문
PSYMBOL_REGISTERED_CALLBACK PsymbolRegisteredCallback;
BOOL PsymbolRegisteredCallback(
[in] HANDLE hProcess,
[in] ULONG ActionCode,
[in, optional] PVOID CallbackData,
[in, optional] PVOID UserContext
)
{...}
매개 변수
[in] hProcess
원래 SymInitialize 함수에 전달된 프로세스에 대한 핸들입니다.
[in] ActionCode
콜백 코드입니다. 이 매개 변수는 다음 값 중 하나일 수 있습니다.
값 | 의미 |
---|---|
|
자세한 정보를 표시합니다.
CallbackData 매개 변수는 문자열에 대한 포인터입니다. |
|
지연된 기호 로드가 시작되었습니다. 기호 로드를 취소하려면 TRUE를 반환 합니다.
CallbackData 매개 변수는 IMAGEHLP_DEFERRED_SYMBOL_LOAD64 구조체에 대한 포인터입니다. |
|
지연된 기호 로드가 완료되었습니다.
CallbackData 매개 변수는 IMAGEHLP_DEFERRED_SYMBOL_LOAD64 구조체에 대한 포인터입니다. |
|
지연된 기호 로드가 실패했습니다.
CallbackData 매개 변수는 IMAGEHLP_DEFERRED_SYMBOL_LOAD64 구조체에 대한 포인터입니다. 콜백 함수가 이 구조체의 FileName 멤버를 설정하는 경우 기호 처리기는 기호를 다시 로드하려고 시도합니다. |
|
지연된 기호 로드가 부분적으로 완료되었습니다. 기호 로더가 이미지 파일 또는 지정된 모듈에서 이미지 헤더를 읽을 수 없습니다.
CallbackData 매개 변수는 IMAGEHLP_DEFERRED_SYMBOL_LOAD64 구조체에 대한 포인터입니다. 콜백 함수가 이 구조체의 FileName 멤버를 설정하는 경우 기호 처리기는 기호를 다시 로드하려고 시도합니다. DbgHelp 5.1: 이 값은 지원되지 않습니다. |
|
지연된 기호 로드가 시작되었습니다.
CallbackData 매개 변수는 IMAGEHLP_DEFERRED_SYMBOL_LOAD64 구조체에 대한 포인터입니다. |
|
중복 기호가 발견되었습니다. 이러한 이유는 COFF 또는 CodeView 형식으로만 사용됩니다.
CallbackData 매개 변수는 IMAGEHLP_DUPLICATE_SYMBOL64 구조체에 대한 포인터입니다. 사용할 기호를 지정하려면 이 구조체의 SelectedSymbol 멤버를 설정합니다. |
|
자세한 정보를 표시합니다. 이 이벤트를 처리하지 않으면 CBA_DEBUG_INFO 이벤트를 통해 정보가 다시 들여집니다.
CallbackData 매개 변수는 IMAGEHLP_CBA_EVENT 구조체에 대한 포인터입니다. |
|
로드된 이미지를 읽었습니다.
CallbackData 매개 변수는 IMAGEHLP_CBA_READ_MEMORY 구조체에 대한 포인터입니다. 콜백 함수는 바이트 멤버가 지정한 바이트 수를 buf 멤버가 지정한 버퍼로 읽고 그에 따라 bytesread 멤버를 업데이트해야 합니다. |
|
기호 옵션이 업데이트되었습니다. 현재 옵션을 검색하려면 SymGetOptions 함수를 호출합니다 .
CallbackData 매개 변수는 무시해야 합니다. |
|
원본 서버에 대한 자세한 정보를 표시합니다. 이 이벤트를 처리하지 않으면 CBA_DEBUG_INFO 이벤트를 통해 정보가 다시 들여집니다.
CallbackData 매개 변수는 IMAGEHLP_CBA_EVENT 구조체에 대한 포인터입니다. DbgHelp 6.6 이하: 이 값은 지원되지 않습니다. |
|
원본 서버에 대한 자세한 정보를 표시합니다.
CallbackData 매개 변수는 문자열에 대한 포인터입니다. DbgHelp 6.6 이하: 이 값은 지원되지 않습니다. |
|
기호가 언로드되었습니다.
CallbackData 매개 변수는 무시해야 합니다. |
[in, optional] CallbackData
작업에 대한 데이터입니다. 이 데이터의 형식은 ActionCode 매개 변수의 값에 따라 달라집니다.
콜백 함수가 SymRegisterCallbackW64에 등록된 경우 데이터는 유니코드 문자열 또는 데이터 구조입니다. 그렇지 않으면 데이터가 ANSI 형식을 사용합니다.
[in, optional] UserContext
SymRegisterCallback64 또는 NULL에 지정된 사용자 정의 값입니다. 일반적으로 이 매개 변수는 애플리케이션에서 콜백 함수가 일부 컨텍스트를 설정할 수 있는 데이터 구조에 대한 포인터를 전달하는 데 사용됩니다.
반환 값
코드 처리에 성공했음을 나타내려면 TRUE를 반환 합니다.
코드 처리 실패를 나타내려면 FALSE를 반환 합니다. 코드가 특정 코드를 처리하지 않는 경우 FALSE도 반환해야 합니다. (이 경우 TRUE 를 반환하면 의도하지 않은 결과가 발생할 수 있습니다.)
설명
호출 애플리케이션은 기호 처리기 함수 중 하나에 대한 다른 호출의 결과로 등록된 콜백 함수를 통해 호출됩니다. 이로 인해 발생할 수 있는 가능한 부작용에 대해 호출 애플리케이션을 준비해야 합니다. 애플리케이션에 여러 스레드에서 사용되는 콜백 함수가 하나만 있는 경우 콜백 함수의 컨텍스트에서 일부 유형의 데이터 액세스를 동기화하는 데 주의해야 할 수 있습니다.
이 콜백 함수는 PSYMBOL_REGISTERED_CALLBACK 콜백 함수를 대체합니다. PSYMBOL_REGISTERED_CALLBACK Dbghelp.h에서 다음과 같이 정의됩니다.
#if !defined(_IMAGEHLP_SOURCE_) && defined(_IMAGEHLP64)
#define PSYMBOL_REGISTERED_CALLBACK PSYMBOL_REGISTERED_CALLBACK64
#else
typedef BOOL
(CALLBACK *PSYMBOL_REGISTERED_CALLBACK)(
__in HANDLE hProcess,
__in ULONG ActionCode,
__in_opt PVOID CallbackData,
__in_opt PVOID UserContext
);
#endif
보다 광범위한 예제는 알림 받기를 참조하세요.
요구 사항
요구 사항 | 값 |
---|---|
대상 플랫폼 | Windows |
헤더 | dbghelp.h |
재배포 가능 파일 | DbgHelp.dll 5.1 이상 |