Поделиться через


Функция RxLogEventDirect (rxprocs.h)

вызывается RxLogEventDirect, чтобы записать ошибку в журнал ошибок ввода-вывода.

Рекомендуется использовать макрос RXLogEvent или макрос RxLogFailure вместо вызова этой подпрограммы напрямую.

Синтаксис

void RxLogEventDirect(
  [in] IN PRDBSS_DEVICE_OBJECT DeviceObject,
  [in] IN PUNICODE_STRING      OriginatorId,
  [in] IN ULONG                EventId,
  [in] IN NTSTATUS             Status,
  [in] IN ULONG                Line
);

Параметры

[in] DeviceObject

Указатель на объект устройства RDBSS.

[in] OriginatorId

Строка, указывающая вызывающий объект, создающий ошибку.

[in] EventId

Значение, указывающее значение кода журнала ошибок ввода-вывода, которое отличается от значения NTSTATUS, возвращаемого подпрограммой. Допустимые значения кода журнала ошибок ввода-вывода определяются в файле заголовка ntiolog.h, включенном в пакет MICROSOFT Windows SDK и Visual Studio.

[in] Status

Значение, указывающее код состояния подпрограммы, указывающий на сбой.

[in] Line

Номер строки в файле исходного кода, в котором произошел сбой.

Возвращаемое значение

Никакой

Замечания

RxLogEventDirect внутренне вызывает процедуру RxLogEventWithAnnotation для создания и записи записи журнала.

Размер записи журнала ошибок ввода-вывода ограничен длиной 255 символов. Поэтому если объединенная длина OriginatorId плюс размер фиксированной части журнала ошибок ввода-вывода превышает 255, то запись журнала ошибок ввода-вывода не будет создана.

Подпрограмма RxLogEventWithAnnotation должна выделить память, чтобы создать запись журнала ошибок ввода-вывода. Следовательно, RxLogEventDirect может автоматически завершиться ошибкой, если выделение памяти завершается ошибкой.

Требования

Требование Ценность
целевая платформа Настольный
заголовка rxprocs.h (include Rxprocs.h, Rxstruc.h)
IRQL <= APC_LEVEL

См. также

RxLogEventWithAnnotation

RxLogEventWithBufferDirect

_RxLog