RxLogEventDirect 函数 (rxprocs.h)

调用 RxLogEventDirect 将错误记录到 I/O 错误日志。

建议使用 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

指示 I/O 错误日志代码值的值,该值不同于例程返回的 NTSTATUS 值。 合法的 I/O 错误日志代码值在 Microsoft Windows SDK 和 Visual Studio 附带的 ntiolog.h 头文件中定义。

[in] Status

指示失败的例程的状态代码的值。

[in] Line

发生此故障的源代码文件中的行号。

返回值

备注

RxLogEventDirect 在内部调用 RxLogEventWithAnnotation 例程来创建和写入日志条目。

I/O 错误日志条目大小限制为 255 个字符。 因此,如果 OriginatorId 的组合长度加上 I/O 错误日志固定部分的大小超过 255,则不会创建任何 I/O 错误日志条目。

RxLogEventWithAnnotation 例程需要分配内存才能创建 I/O 错误日志条目 。 因此,如果内存分配失败, RxLogEventDirect 可能会无提示失败。

要求

要求
目标平台 桌面
标头 rxprocs.h (包括 Rxprocs.h、Rxstruc.h)
IRQL <= APC_LEVEL

另请参阅

RxLogEventWithAnnotation

RxLogEventWithBufferDirect

_RxLog