Как получить HANDLE потока, вызвавшего исключение в UnhandledExceptionFilter или VectoredExceptionHandler?

Допустим, у вас есть следующие глобальные обработчики/фильтры исключений:

LONG WINAPI UnhandledExceptionFilter(PEXCEPTION_POINTERS exception)
{
    return EXCEPTION_CONTINUE_SEARCH;
}

LONG WINAPI VectoredExceptionHandler(PEXCEPTION_POINTERS exception)
{
    return EXCEPTION_CONTINUE_SEARCH;
}

Вызывается с использованием:

SetUnhandledExceptionFilter(UnhandledExceptionFilter);
AddVectoredExceptionHandler(1, VectoredExceptionHandler);

У меня может быть отдельный поток, выбрасывающий исключение обратно в основной поток, который я использую для установки фильтра или обработчика... но в логике для UnhandledExceptionFilter и VectoredExceptionHandler, как мне передать HANDLE потоку, вызвавшему исключение?


person Alexandru    schedule 19.03.2014    source источник
comment
Обратный вызов выполняется в том же потоке, в котором возникло исключение, поэтому для получения дескриптора используется просто OpenThread с GetCurrentThreadId. Выбрасывать исключение обратно в основной поток бессмысленно, исключения не могут переходить между потоками.   -  person Hans Passant    schedule 19.03.2014
comment
@HansPassant Почему стек частично раскручивается после возникновения глобального исключения, особенно если исключение генерирует отдельный поток? (см. обход стека работает правильно при использовании setunhandledexceptionfilter">stackoverflow.com/questions/22487887/)   -  person Alexandru    schedule 19.03.2014
comment
@HansPassant Я пытался спросить тебя об этом раньше. Это в стороне от этого вопроса, но это важно. Вы хотите, чтобы я начал новый вопрос? Потому что ответы, которые я получил в заголовке stackoverflow.com/questions/22487887/ просто недостаточен и не приводит меня к созданию настоящего трассировщика стека. :( Я не знаю, куда обратиться. Я прочитал здесь много ваших ответов, которые опровергают одобренные и принятые ответы на Stack, особенно в отношении обработки исключений SEH и C++...   -  person Alexandru    schedule 19.03.2014
comment
@HansPassant См. stackoverflow.com/questions/22510758/, если вы хотите предоставить свои два цента.   -  person Alexandru    schedule 19.03.2014