Общие сведения о расширенных ошибках
Расширенные сведения об ошибках — это массив записей, каждая из которых указывает на передачу кода ошибки через определенный уровень в системе или приложении. Если на компьютере C возникает ошибка, как это называется с компьютера B, который, в свою очередь, вызывается с компьютера A, время выполнения RPC на компьютере C создает одну или несколько записей, описывающих ошибку, и передает их на компьютер B. Компьютер B может добавить одну или несколько записей в голову существующей цепочки. и передает полную цепочку в A. Может добавлять одну или несколько записей, а также отображать или записывать в журнал информацию. По сути, расширенная цепочка ошибок представляет журнал ошибки.
Расширенные сведения об ошибке не заменяют код ошибки (код состояния RPC_S_*). Независимо от того, сколько или создаются расширенные сведения об ошибке, код ошибки остается неизменным.
Каждая расширенная запись сведений об ошибке содержит следующее. Дополнительные сведения см . в RPC_EXTENDED_ERROR_INFO :
ComputerName — это dns-имя компьютера, на котором возникла ошибка. Эта информация содержится только в записях на границах компьютера. Например, в описанном ранее сценарии с компьютерами A, B и C имя_компьютера определяется для следующих полей:
Record Поле ComputerName Запись 1, созданная компьютером C - Запись 2, созданная компьютером C - Запись 3, созданная компьютером C C Запись 1, созданная компьютером B - Запись 2, созданная компьютером B - Запись 3, созданная компьютером B B Запись 1, созданная компьютером A - Запись 2, созданная компьютером A - Запись 3, созданная компьютером A - Головка цепочки
ProcessID — идентификатор процесса, который вызвал ошибку.
Метка времени — время возникновения ошибки, выраженное в формате UTC.
Создание компонента — целочисленное определение кода логического компонента, создающего ошибку. В настоящее время определены следующие компоненты:
Код Имя Описание 1 Приложение Компонент, владеющий подпрограммой диспетчера для конкретного вызова RPC 2 Среда выполнения Время выполнения RPC 3 Поставщик безопасности Поставщик безопасности для этого вызова. 4 NPFS Файловая система NPFS 5 RDR Перенаправитель 6 NMP Система именованных каналов. Это может быть NPFS или RDR, но во многих случаях время выполнения RPC не знает, кто выполнил запрошенную операцию, и в таких случаях возвращается NMP. 7 IO Система ввода-вывода или драйвер, используемый системой ввода-вывода. Это может быть NPFS, RDR или поставщик Winsock. 8 Winsock Поставщик Winsock 9 Authz code API авторизации. 10 LPC Средство вызова локальной процедуры.
- Состояние — код ошибки, созданный или возвращенный слоем.
- DetectionLocation — уникальный номер, определяющий расположение кода, в котором была обнаружена ошибка. Это поле привязано к коду и будет меняться от версии к версии. Будет опубликован отдельный список наиболее часто встречающихся расположений обнаружения.
- Флаги — флаги, указывающие сведения о записи. В настоящее время определены флаги EEInfoPreviousRecordsMissing и EEInfoNextRecordsMissing, соответствующие числовым значениям 1 и 2 соответственно. Если задано значение EEInfoPreviousRecordsMissing, одна или несколько записей, предшествующих этой записи, отсутствуют. Если задано значение EEInfoNextRecordsMissing, одна или несколько записей после этой записи отсутствуют. Описание того, почему записи могут отсутствовать, см. в разделе Надежность расширенных сведений об ошибках.
- До четырех параметров ошибки. Параметр ошибки — это упрощенная структура вариантов, предоставляющая дополнительные сведения об ошибке. Дополнительные сведения зависят от ошибки и расположения обнаружения. Параметры могут иметь тип СТРОКА ANSI (LPSTR), Строка Юникода (LPWSTR), длинное значение (long), короткое значение (short), указатель (int64) или none.