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 |