替代默认 MPR 超时间隔
多提供程序路由器 (MPR) 调用 NPGetCaps 来查明网络提供程序何时启动 (nIndex 设置为 WNNC_START) 。 然后,MPR 会等待所有网络提供商指定的最长超时期限,然后才向用户显示合并的网络。 如果其中一个网络提供商不知道何时启动,则 MPR 将使用该提供程序的默认超时 60 秒。
如有必要,管理员可以通过创建以下 REG_DWORD 注册表超时来替代默认超时,其中 n 是超时间隔(以毫秒为单位):
\ HKEY_LOCAL_MACHINE系统\CurrentControlSet\控制\NetworkProvider\RestoreTimeout = n
以下伪代码显示了 MPR 超时处理的完整逻辑流。
If there is a RegistryTimeout,
Then MaxTimeout = RegistryTimeout.
Otherwise,
MaxTimeout = 0.
For each provider,
if the provider does not supply a time-out and
if there is a RegistryTimeout,
ProviderTimeout is set to RegistryTimeout.
Otherwise,
ProviderTimeout is set to DefaultTimeout.
Otherwise,
If the ProviderTimeout is longer than MaxTimeout,
MaxTimeout = ProviderTimeout.