NDIS_PROTOCOL_RESTART_PARAMETERS 结构 (ndis.h)

当 NDIS 调用 ProtocolNetPnPEvent 函数以指示 NetEventRestart 事件时,NDIS_PROTOCOL_RESTART_PARAMETERS 结构为协议驱动程序定义重启参数。

语法

typedef struct _NDIS_PROTOCOL_RESTART_PARAMETERS {
  NDIS_OBJECT_HEADER       Header;
  PUCHAR                   FilterModuleNameBuffer;
  ULONG                    FilterModuleNameBufferLength;
  PNDIS_RESTART_ATTRIBUTES RestartAttributes;
  NET_IFINDEX              BoundIfIndex;
  NET_LUID                 BoundIfNetluid;
  ULONG                    Flags;
} NDIS_PROTOCOL_RESTART_PARAMETERS, *PNDIS_PROTOCOL_RESTART_PARAMETERS;

成员

Header

NDIS_PROTOCOL_RESTART_PARAMETERS 结构的NDIS_OBJECT_HEADER结构。 NDIS 将 Header 指定的结构的 Type 成员设置为 NDIS_OBJECT_TYPE_PROTOCOL_RESTART_PARAMETERS,将 Revision 成员设置为 NDIS_PROTOCOL_RESTART_PARAMETERS_REVISION_1,并将 Size 成员设置为 NDIS_SIZEOF_PROTOCOL_RESTART_PARAMETERS_REVISION_1。

FilterModuleNameBuffer

基础筛选器模块名称的列表。 对于每个名称,缓冲区都包含一个 USHORT 值,后跟一个宽字符串。 使用缓冲区中的第一个 USHORT 值来确定第一个字符串的长度。 使用第一个字符串的长度来确定下一个字符串的开头。 以这种方式继续,直到从缓冲区检索的字节数等于 FilterModuleNameBufferLength 成员中指定的字节数。

FilterModuleNameBufferLength

FilterModuleNameBuffer 成员中缓冲区的长度(以字节为单位)。

RestartAttributes

指向 NDIS_RESTART_ATTRIBUTES 结构列表中的第一个条目的指针。 使用 NDIS_RESTART_ATTRIBUTES 结构的 Next 成员获取列表中的下一个结构。

BoundIfIndex

堆叠在微型端口适配器上的最高级别接口的 NDIS 网络接口索引。 也就是说,如果通过微型端口适配器安装了虚拟微型端口或筛选器模块,则此成员是最高级别的虚拟微型端口或筛选器模块的 IfIndex

BoundIfNetluid

NDIS NET_LUID 值 (,也是 RFC 2863 中 ifName (网络接口 名称,) ) 堆叠在微型端口适配器上的最高级别接口。 也就是说,如果通过微型端口适配器安装了虚拟微型端口或筛选器模块,则此成员是最高级别的虚拟微型端口或筛选器模块的NET_LUID值。

Flags

保留供将来使用。

注解

NDIS 在调用 ProtocolNetPnPEvent 函数以指示 NetEventRestart 事件时,它将NDIS_PROTOCOL_RESTART_PARAMETERS结构传递给协议驱动程序。

在 FilterModuleNameBuffer 成员的缓冲区中指定的每个名称都不能保证以 NULL 结尾。 每个字符串开头的 USHORT 值包含字符串的长度(以字节为单位)。 协议驱动程序在访问缓冲区之前,应检查 FilterModuleNameBufferLength 成员的值。

要求

要求
最低受支持的客户端 在 NDIS 6.0 及更高版本中受支持。
标头 ndis.h (包括 Ndis.h)

另请参阅

NDIS_OBJECT_HEADER

NDIS_RESTART_ATTRIBUTES

ProtocolNetPnPEvent