NdisMCreateLog 函数 (ndis.h)

NdisMCreateLog 分配并打开一个日志文件,微型端口驱动程序可在其中写入要由驱动程序专用 Win32 应用程序显示的数据。

语法

NDIS_STATUS NdisMCreateLog(
  [in]  NDIS_HANDLE  MiniportAdapterHandle,
  [in]  UINT         Size,
  [out] PNDIS_HANDLE LogHandle
);

参数

[in] MiniportAdapterHandle

指定 MiniportInitializeEx 的句柄输入。

[in] Size

指定要为日志文件分配的字节数。 NDIS 创建一个不存储在磁盘上的临时文件。

[out] LogHandle

指向调用方提供的变量的指针,此函数在该变量中返回日志文件的句柄。 此句柄是微型端口驱动程序随后调用的 NdisXxx日志 函数的必需参数。

返回值

NdisMCreateLog 可以返回下列值之一:

返回代码 说明
NDIS_STATUS_SUCCESS
微型端口驱动程序可以使用 LogHandle 中返回的句柄将数据写入 NDIS 分配的日志文件。
NDIS_STATUS_RESOURCES
无法分配指定大小的日志文件。
NDIS_STATUS_FAILURE
驱动程序已成功调用 NdisMCreateLog

注解

微型端口驱动程序可以调用 NdisM。记录 函数,以提供驱动程序编写器选择的任何信息。 专用驱动程序 Win32 应用程序可以显示任何微型端口驱动程序日志。 此类应用程序使用 IOCTL_NDIS_GET_LOG_DATA 定期调用 Win32 函数 DeviceIoControl ,以检索微型端口驱动程序已写入日志文件的任何内容。 例如,开发不足的微型端口驱动程序可能会写入要由其相应的应用程序显示的测试数据。

如果 NdisMCreateLog 返回NDIS_STATUS_RESOURCES,驱动程序可以调整原始 大小 ,然后再次尝试调用此函数。 但是,在调用成功后,微型端口驱动程序无法调用 NdisMCreateLog 来创建多个日志文件。

无论分配的日志文件大小如何,对 NdisMWriteLogData 的 后续调用都会在此文件中存储数据,该文件被视为循环缓冲区。 也就是说,对 NdisMWriteLogData 的一系列调用最终会覆盖最初写入日志文件的数据。

要求

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

另请参阅

MiniportInitializeEx

NdisMCloseLog

NdisMFlushLog

NdisMWriteLogData