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) |