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 值。 ntiolog.h 头文件中定义了Microsoft Windows SDK 和 Visual Studio 中包含的合法 I/O 错误代码值。

[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