Макрос GetExceptionInformation
Извлекает независимое от компьютера описание исключения и сведения о состоянии компьютера, которое существует для потока при возникновении исключения. Эту функцию можно вызывать только из выражения фильтра обработчика исключений.
Примечание
Компилятор оптимизации Microsoft C/C++ интерпретирует эту функцию как ключевое слово, а ее использование вне соответствующего синтаксиса обработки исключений приводит к ошибке компилятора.
Синтаксис
LPEXCEPTION_POINTERS GetExceptionInformation(void);
Параметры
Этот макрос не имеет параметров.
Возвращаемое значение
Указатель на структуру EXCEPTION_POINTERS , содержащую указатели на следующие две структуры:
- EXCEPTION_RECORD структуры, содержащей описание исключения.
- Структура CONTEXT , содержащая сведения о состоянии компьютера.
Комментарии
Выражение фильтра (из которого вызывается функция) вычисляется при возникновении исключения во время выполнения блока __try и определяет, выполняется ли блок __except .
Выражение фильтра может вызывать функцию фильтра. Функция фильтра не может вызвать GetExceptionInformation. Однако возвращаемое значение GetExceptionInformation можно передать в качестве параметра в функцию фильтра.
Чтобы передать сведения о EXCEPTION_POINTERS в блок обработчика исключений, выражение фильтра или функция фильтра должны скопировать указатель или данные в безопасное хранилище, к которому обработчик может получить доступ позже.
В случае вложенных обработчиков каждое выражение фильтра вычисляется до тех пор, пока одно выражение не будет оценено как EXCEPTION_EXECUTE_HANDLER или EXCEPTION_CONTINUE_EXECUTION. Каждое выражение фильтра может вызывать GetExceptionInformation для получения сведений об исключении.
Требования
Требование | Значение |
---|---|
Минимальная версия клиента |
Windows XP [только классические приложения] |
Минимальная версия сервера |
Windows Server 2003 [только классические приложения] |
См. также раздел