NdisWriteErrorLogEntry 函数 (ndis.h)

NdisWriteErrorLogEntry 将条目写入系统 I/O 错误日志文件。

语法

void NdisWriteErrorLogEntry(
  [in] NDIS_HANDLE     NdisAdapterHandle,
  [in] NDIS_ERROR_CODE ErrorCode,
  [in] ULONG           NumberOfErrorValues,
       ...             
);

参数

[in] NdisAdapterHandle

指定表示 NIC 的句柄,该 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。 因此,传递给 NdisWriteErrorLogEntryNumberOfErrorValues 具有系统强制实施的限制,这大大小于 ULONG 的最大值。

在实践中, NdisWriteErrorLogEntry 的调用方很少甚至接近 NumberOfErrorValues 的限制,因为提供许多额外的 NDIS_STATUS_XXX 值对稍后使用 Win32 事件查看器读取错误日志的用户或系统管理员没有特别帮助。 在每一个可能的机会记录 I/O 错误对用户也没有特别有用,因此微型端口驱动程序应仅记录关键 I/O 错误,这些错误可以帮助用户或系统管理员调试 NIC 在特定计算机上负责的网络故障或驱动程序初始化期间发现的配置资源冲突。

通常,如果微型端口驱动程序无法初始化其控制的 NIC 或无法分配在 NIC 上执行 I/O 操作所需的硬件资源,则微型端口驱动程序在初始化期间从其 MiniportInitializeEx 函数调用 NdisWriteErrorLogEntry。 当设备重置操作由于无法恢复的硬件错误而失败时,微型端口驱动程序还可以调用 NdisWriteErrorLogEntry () 。 记录这些类型的 I/O 错误可帮助用户或系统管理员识别配置不当的 NIC 或硬件组件发生故障的 NIC。

要求

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

另请参阅

MiniportInitializeEx

MiniportResetEx

NdisMSetMiniportAttributes