网络 INF 文件中的 DDInstall 节
网络 INF 文件中的 DDInstall 节基于通用 INF DDInstall 节。
网络 INF 文件中的 DDInstall 节具有以下特定于网络的条目:
特征
网络 INF 文件中的每个 DDInstall 节都必须有 一个“特征” 条目。 “特征”条目指定所安装网络组件的某些特征,并可能限制用户针对该组件执行的操作。 例如, “特征” 条目可以指定组件是否支持用户界面、是否可以删除它,或者它是否对用户隐藏。
“特征”条目可以具有以下一个或多个值, (多个值) 求和:
十六进制值 | 名称 | 说明 |
---|---|---|
0x1 |
NCF_VIRTUAL |
组件是虚拟适配器。 设备不在物理总线(如 PCI 总线或 USB)上,而是位于根总线上。 此标志仅适用于使用 Net 设备安装类的驱动程序。 |
0x2 |
NCF_SOFTWARE_ENUMERATED |
组件是软件枚举的适配器。 此标志仅适用于使用 Net 设备安装类的驱动程序。 |
0x4 |
NCF_PHYSICAL |
组件是驱动程序直接与 (通信的物理适配器,例如,通过 PCI 总线) 或间接 ((例如,通过 USB) )。 如果驱动程序支持物理网络接口,请选择此选项。¹ 此标志仅适用于使用 Net 设备设置类的驱动程序。 |
0x8 |
NCF_HIDDEN |
组件不应显示在任何用户界面中。 |
0x10 |
NCF_NO_SERVICE |
组件没有关联的服务 (设备驱动程序) 。 |
0x20 |
NCF_NOT_USER_ 移动 |
用户 (无法删除组件,例如,通过控制面板或设备管理器) 。 |
0x80 |
NCF_HAS_UI |
组件支持用户界面 (例如高级页面或自定义属性表) 。 |
0x400 |
NCF_FILTER |
组件是筛选器中间驱动程序。 Windows 10 或更高版本不支持筛选器中间驱动程序。 |
0x4000 |
NCF_NDIS_PROTOCOL |
组件需要由绑定引擎提供给 NetTrans 设备安装类的卸载事件 (通常由筛选器中间驱动程序使用,后者使用 NetService 设备安装类) 。 |
0x40000 |
NCF_LW_FILTER |
组件是轻型筛选器驱动程序。 此标志仅适用于使用 NetService 设备安装类的驱动程序。 |
¹使用 Windows Server 2012 R2 时,系统上的至少一个网络接口必须标有NCF_PHYSICAL才能符合 DHCPv6 客户端的条件。
不允许使用以下 特性 值组合:
NCF_VIRTUAL、NCF_SOFTWARE_ENUMERATED和NCF_PHYSICAL是互斥的。
NCF_NO_SERVICE不能与NCF_VIRTUAL、NCF_SOFTWARE_ENUMERATED或NCF_PHYSICAL一起使用。 虚拟、软件枚举或物理适配器必须始终具有关联的服务 (设备驱动程序) 。
下面是支持用户界面的物理适配器 的特征 条目的示例:
Characteristics = 0x84; NCF_PHYSICAL, NCF_HAS_UI
BusType
物理网络适配器的 DDInstall 节必须包含 BusType 条目,该条目指定适配器可以在其上运行的总线 ((例如 PCI 或 ISA) ) 的类型。 BusType 条目的可能值由 NDIS 头文件 (ndis.h) 中的 INTERFACE_TYPE 枚举指定,如下所示:
BusType 条目 | 值 |
---|---|
ISA |
1 |
EISA |
2 |
MicroChannel |
3 |
TurboChannel |
4 |
PCIBus |
5 |
VMEbus |
6 |
NuBus |
7 |
PCMCIABus |
8 |
Cbus |
9 |
MPIBus |
10 |
MPSABus |
11 |
PNPISABus |
14 |
PNPBus |
15 |
注意 如果适配器可以在多种类型的总线上运行,则安装该适配器的 INF 文件应包含每个总线类型的 DDInstall 节。
例如,如果适配器可以在 ISA 总线和 PnPISA 总线上运行,则该适配器的 INF 文件应包含 ISA 的 DDInstall 节和 PnPISA 的 DDInstall 节。 每个此类 DDInstall 节中的 BusType 条目都应为该节指定适当的总线类型,如下所示:
[a1.isa]
BusType=1
[a1.pnpisa]
BusType=14
Port1DeviceNumber 和 Port1FunctionNumber
安装多端口网络适配器的 INF 文件的 DDInstall 部分必须包含 Port1DeviceNumber 条目或 Port1FunctionNumber 条目。 指定此类条目会导致适配器的端口信息显示在“ 连接属性 ”对话框中, (选择适配器名称或图标时,可通过“ 网络 和 拨号连接” 文件夹) 访问。
如果适配器的端口号按顺序映射到 PCI 设备编号,请使用 Port1DeviceNumber 条目。 将 Port1DeviceNumber 设置为序列中的第一个 PCI 设备编号。 例如,如果 PCI 设备编号 4 映射到端口 1,PCI 设备编号 5 映射到端口 2,PCI 设备编号 6 映射到端口 3,依此类推,请使用以下条目:
Port1DeviceNumber = 4
如果适配器的端口号按顺序映射到 PCI 函数号,请使用 Port1FunctionNumber 条目。 将 Port1FunctionNumber 设置为序列中的第一个 PCI 函数编号。 例如,如果 PCI 函数编号 2 映射到端口 1,PCI 函数编号 3 映射到端口 2,PCI 函数编号 4 映射到端口 3,依此类推,请使用以下条目:
Port1FunctionNumber = 2
注意 假定 PCI 设备编号或 PCI 函数到端口号的映射是静态的。 还假定适配器的端口按顺序编号。
Port1DeviceNumber 和 Port1FunctionNumber 条目互斥。 如果两个条目都存在于给定 的 DDInstall 节中,则仅使用 Port1DeviceNumber 条目。