启用和禁用 NDK 功能
若要启用或禁用 NDK 功能,NDIS 会发出 OID_NDK_SET_STATE OID 请求。 支持 NDK 的微型端口驱动程序必须在其 MiniportOidRequest 函数中注册对此 OID 的支持。
确定是否可以启用 NDK 功能
*NetworkDirect 关键字 (keyword) 确定是否可以启用微型端口驱动程序的 NDK 功能。
如果此关键字 (keyword) 值设置为 1 (“Enabled”) ,则可以启用 NDK 功能。
如果设置为 0 (“Disabled”) ,则无法启用 NDK 功能。
安装微型端口驱动程序时,其 INF 文件默认将此关键字 (keyword) 值设置为 1 (“Enabled”) 。 有关详细信息,请参阅 NDKPI 的 INF 要求。
安装微型端口驱动程序后,管理员可以通过在适配器的“高级”属性页中设置新值来更新 *NetworkDirect 关键字 (keyword) 值。 有关高级属性的详细信息,请参阅 指定高级属性页的配置参数。
注意 在适配器的 “高级 ”属性页中进行更改后,微型端口驱动程序会自动重启。
何时启用或禁用 NDK 功能
此状态更改可由 OID_NDK_SET_STATE OID 请求触发,也可以由适配器本身的成功或失败触发。
启用或禁用 NDK 功能
若要启用或禁用其 NDK 功能,微型端口驱动程序必须将 NetEventNDKEnable 或 NetEventNDKDisable 即插即用 (PnP) 事件发送到 NDIS。
为了发送 PnP 事件,微型端口驱动程序调用 NdisMNetPnPEvent 函数,设置 NetPnPEvent 参数指向 的 NET_PNP_EVENT_NOTIFICATION 结构的 NetPnPEvent 成员,如下所示:
如果要启用 NDK 功能,则 NetEventNDKEnable。
如果要禁用 NDK 功能,NetEventNDKDisable。
NetEventNDKDisable PnP 事件会触发 NDIS 和上层驱动程序,开始通过禁用 NDK 功能的适配器关闭其打开的NDK_ADAPTER实例。 PnP 事件将保持挂起状态,直到通过适配器打开的所有 NDK_ADAPTER 实例都关闭。