RxLogEventWithAnnotation 函数 (rxprocs.h)

RxLogEventWithAnnotation 分配 I/O 错误日志结构,使用信息填充该结构,并将条目写入 I/O 错误日志。

语法

void RxLogEventWithAnnotation(
  [in] IN PRDBSS_DEVICE_OBJECT DeviceObject,
       IN ULONG                EventId,
       IN NTSTATUS             Status,
       IN PVOID                DataBuffer,
       IN USHORT               DataBufferLength,
       IN PUNICODE_STRING      Annotation,
  [in] IN ULONG                AnnotationCount
);

参数

[in] DeviceObject

指向 RDBSS 设备对象的指针。

EventId

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

Status

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

DataBuffer

指向要添加到 I/O 错误日志结构的原始数据缓冲区的指针。

DataBufferLength

要添加到 I/O 错误日志结构的原始数据缓冲区的长度。

Annotation

指向要添加到 I/O 错误日志结构的任何批注字符串的指针。

[in] AnnotationCount

要添加到 I/O 错误日志结构的批注字符串数的计数。

返回值

没有

言论

网络微型重定向程序将调用 RxLogEventWithAnnotation 来记录 I/O 错误。

I/O 错误日志条目大小限制为 255 个字符。 因此,如果 ID的组合长度、RawDataBuffer以及 批注 参数加上 I/O 错误日志条目的固定部分的大小超过 255,则 RxLogEventWithAnnotation 将无提示失败,并且不会创建任何 I/O 错误日志条目。

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

要求

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

另请参阅

RxLogEventDirect

RxLogEventWithBufferDirect

_RxLog