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 |