NdisWriteEventLogEntry 函数 (ndis.h)

NdisWriteEventLogEntry 将事件记录到 Win32 事件日志中。

语法

NDIS_STATUS NdisWriteEventLogEntry(
  [in]           PVOID       LogHandle,
  [in]           NDIS_STATUS EventCode,
  [in]           ULONG       UniqueEventValue,
  [in]           USHORT      NumStrings,
  [in, optional] PVOID       StringsList,
  [in]           ULONG       DataSize,
  [in, optional] PVOID       Data
);

参数

[in] LogHandle

指向记录此事件的协议的驱动程序对象的指针。

[in] EventCode

指定描述事件的 NDIS_STATUS_XXX 代码。

[in] UniqueEventValue

标识错误消息的此实例。

[in] NumStrings

指定可选 StringsList 中指向 Unicode 字符串的指针数。 如果 StringsListNULL则 NumStrings 必须为零。

[in, optional] StringsList

NULL 或指向缓冲的 Unicode 字符串。 这些描述事件的字符串将插入到 Win32 事件日志中,可以使用 Win32 事件查看器进行检查。 每个字符串必须是以 NUL 结尾的 Unicode 字符串。

[in] DataSize

指定 数据 处二进制数据的缓冲区中的字节数。 如果 DataNULL则 DataSize 必须为零。

[in, optional] Data

NULL 或指向对了解事件有用的缓冲二进制转储数据。 可以使用 Win32 事件查看器检查此数据。

返回值

NdisWriteEventLogEntry 可以返回以下值之一:

返回代码 说明
NDIS_STATUS_SUCCESS
已成功记录事件。
NDIS_STATUS_BUFFER_TOO_SHORT
(可选)提供的 Unicode 字符串和二进制转储数据超出了 (MAX_EVENT_LOG_DATA_SIZE) 允许的最大大小。
NDIS_STATUS_RESOURCES
NDIS 无法为 I/O 错误日志记录分配内存。

注解

NdisWriteEventLogEntry 分配 I/O 错误日志记录,使用提供的有关事件的信息填充记录,然后将该记录写入 I/O 错误日志文件。 用户可以使用 Win32 事件查看器查看记录的事件,包括事件的可选说明和/或可选的二进制转储数据。

NT 错误日志记录线程使用可选 StringsList 中提供的任何字符串来填充写入 Win32 事件日志的消息。 每个字符串必须是以 NUL 结尾的 Unicode 字符串。 I/O 管理器假定初始字符串要么是报告错误的驱动程序的名称,要么是导致错误的设备的名称。

调用方提供的 Unicode 字符串应从注册表中读取,或者应与语言无关 (也就是说,字符串在任何语言中都应相同,例如,字符串可以是) 的文件名。

调用方提供的转储数据可以是任何二进制数据 (,例如在了解事件时有用的寄存器值) 。 调用方不必填充二进制数据。 如有必要, NdisWriteEventLogEntry 会填充二进制转储数据,以便最终数据大小是 size of (ULONG) 的多个整数。

系统限制提供给 NdisWriteEventLogEntry 的可选数据的总大小。 字符串列表和可能填充) 二进制转储 (的组合大小必须小于或等于MAX_EVENT_LOG_DATA_SIZE。

NdisWriteEventLogEntry 仅由协议驱动程序调用。 微型端口驱动程序应调用 NdisWriteErrorLogEntry 来记录事件和错误。

要求

要求
最低受支持的客户端 支持 NDIS 6.0 和 NDIS 5.1 驱动程序 (请参阅 Windows Vista 中的 NdisWriteEventLogEntry (NDIS 5.1) ) 。 NDIS 5.1 驱动程序支持 (请参阅 Windows XP 中的 NdisWriteEventLogEntry (NDIS 5.1) ) 。
目标平台 通用
标头 ndis.h (包括 Ndis.h)
Library Ndis.lib
IRQL <= DISPATCH_LEVEL
DDI 符合性规则 Irql_Miscellaneous_Function (ndis)

另请参阅

MiniportInitializeEx

MiniportResetEx

NdisMSetMiniportAttributes

NdisWriteErrorLogEntry