NdisWriteErrorLogEntry 将条目写入系统 I/O 错误日志文件。
语法
VOID NdisWriteErrorLogEntry(
[in] NDIS_HANDLE NdisAdapterHandle,
[in] NDIS_ERROR_CODE ErrorCode,
[in] ULONG NumberOfErrorValues,
...
);
参数
[in] NdisAdapterHandle
指定表示 NIC 的句柄,该句柄是记录 I/O 错误的原因。 此句柄是 MiniportInitializeEx的输入参数。
[in] ErrorCode
指定最能将 I/O 错误描述为以下值之一的 NDIS_ERROR_CODE_XXX 代码:
NDIS_ERROR_CODE_RESOURCE_CONFLICT
驱动程序无法访问所需的资源。
NDIS_ERROR_CODE_OUT_OF_RESOURCES
硬件或驱动程序耗尽了资源。
NDIS_ERROR_CODE_HARDWARE_FAILURE
驱动程序检测到硬件错误。
NDIS_ERROR_CODE_ADAPTER_NOT_FOUND
找不到网络适配器。
NDIS_ERROR_CODE_INTERRUPT_CONNECT
中断注册失败。
NDIS_ERROR_CODE_DRIVER_FAILURE
发生与任何其他错误条件不匹配的驱动程序故障。
NDIS_ERROR_CODE_BAD_VERSION
驱动程序检测到版本不匹配。
NDIS_ERROR_CODE_TIMEOUT
超时已过期。
NDIS_ERROR_CODE_NETWORK_ADDRESS
网络地址无效。
NDIS_ERROR_CODE_UNSUPPORTED_CONFIGURATION
不支持请求的驱动程序配置。
NDIS_ERROR_CODE_INVALID_VALUE_FROM_ADAPTER
网络适配器硬件提供了无效值。
NDIS_ERROR_CODE_MISSING_CONFIGURATION_PARAMETER
注册表中缺少驱动程序配置参数。
NDIS_ERROR_CODE_BAD_IO_BASE_ADDRESS
网络适配器硬件的 I/O 基址无效。
NDIS_ERROR_CODE_RECEIVE_SPACE_SMALL
可用接收缓冲区内存量太小,无法接收数据。
NDIS_ERROR_CODE_ADAPTER_DISABLED
网络适配器硬件已禁用。
[in] NumberOfErrorValues
指定要遵循此参数的 ULONG 值数。
...
指定要记录的错误的 ULONG 的可变大小数组。
返回值
没有
言论
NdisWriteErrorLogEntry 分配 I/O 错误日志记录,在记录中填写有关错误的信息,然后将记录写入 I/O 错误日志文件。
系统对错误日志记录的潜在大小施加限制。 对于 Windows 2000 及更高版本,限制定义为ERROR_LOG_MAXIMUM_SIZE。 NumberOfErrorValues 传递给 NdisWriteErrorLogEntry 因此具有系统强制的限制,这大大低于 ULONG 的最大可能值。
实际上,NdisWriteErrorLogEntry 的调用方很少 甚至接近 NumberOfErrorValues 的限制,因为使用 Win32 事件查看器提供许多其他NDIS_STATUS_XXX 值对以后读取错误日志的用户或系统管理员没有特别帮助。 在可能的机会中记录 I/O 错误也对用户没有特别有用,因此微型端口驱动程序应只记录关键 I/O 错误,以帮助用户或系统管理员调试 NIC 在特定计算机上负责的网络故障或在驱动程序初始化期间发现的配置资源冲突。
一般情况下,微型端口驱动程序在初始化期间从 MiniportInitializeEx 函数调用 NdisWriteErrorLogEntry,如果无法初始化它控制或无法分配在 NIC 上执行 I/O作所需的硬件资源。 微型端口驱动程序还可以调用 NdisWriteErrorLogEntry,因为无法恢复的硬件错误(s) 导致设备重置作失败。 记录这些类型的 I/O 错误可帮助用户或系统管理员识别配置错误的 NIC 或具有故障硬件组件的 NIC。
要求
| 要求 | 价值 |
|---|---|
| 最低支持的客户端 | Windows Vista 中支持 NDIS 6.0 和 NDIS 5.1 驱动程序(请参阅 NdisWriteErrorLogEntry(NDIS 5.1)。 在 Windows XP 中支持 NDIS 5.1 驱动程序(请参阅 NdisWriteErrorLogEntry (NDIS 5.1)。 |
| 目标平台 | 普遍 |
| 标头 | ndis.h (包括 Ndis.h) |
| 库 | Ndis.lib |
| IRQL | <= DISPATCH_LEVEL |
| DDI 符合性规则 | Irql_Miscellaneous_Function(ndis) |