NDIS_STATUS_WWAN_REGISTER_STATE

微型端口驱动程序使用NDIS_STATUS_WWAN_REGISTER_STATE通知将 MB 设备的注册状态的更改传达给 MB 服务。

微型端口驱动程序还可以使用此通知发送未经请求的事件。

此通知使用 NDIS_WWAN_REGISTRATION_STATE 结构。

注解

随着设备的注册状态更改,微型端口驱动程序必须发送相应的指示,以便 MB 服务能够向用户反映正确的状态。

由于多种原因,注册状态发生更改。 它可能直接由OID_WWAN_REGISTER_STATE的 MB 服务 设置 请求导致,例如从 WwanRegisterStateSearchingWwanRegisterStateHome 的暂时性状态转换。 在自动选择提供程序的情况下,也可能由微型端口驱动程序执行自动操作。 最后,它可能是由网络可用性更改引起的,例如,失去网络覆盖范围可能会导致从 WwanRegisterStateHome 转换到 WwanRegisterStateDeregistered

除了 MB 服务OID_WWAN_REGISTER_STATE请求导致的更改外,无论根本原因如何,只要注册状态发生更改,微型端口驱动程序应通知 MB 服务。

CDMA 设备不支持 MB 服务发起的注册和注销。 但是,必须向 MB 服务发送设备发起的基于运营商网络可用性或不可用性的注册状态更改通知。 CDMA 设备必须执行自动注册。

对于在开机时执行自动注册的设备,无论当前注册模式(自动或手动)如何,微型端口驱动程序都必须在成功注册时发送注册状态通知。

对于手动注册,MB 服务应仅在微型端口驱动程序指示 ReadyStateWwanReadyStateInitialized 后启动注册。

微型端口驱动程序在响应 设置 的请求时必须使用以下准则:

  • 驱动程序不得以暂时性状态响应 请求。 注册的暂时性状态为 WwanRegisterStateSearching

  • RegisterAction 设置为 WwanRegisterActionManual 时,如果在微型端口驱动程序收到请求时提供程序不可见,微型端口驱动程序应WWAN_STATUS_PROVIDER_NOT_VISIBLE返回错误代码。 由于手动模式设置失败,设备不得切换到自动注册。 如果之前将设备设置为手动注册到另一个网络,则此请求应将设备更改为注册到请求中指定的网络。 响应请求时 RegisterState 的值应设置为 WwanRegisterStateDeregistered

  • RegisterAction 设置为 WwanRegisterActionManual 时,如果微型端口驱动程序已向请求的同一网络注册,则它应以WWAN_STATUS_SUCCESS响应。

  • 驱动程序应尝试在OID_WWAN_REGISTER请求集中注册到请求的数据类。 如果微型端口驱动程序无法注册到请求的数据类,则应注册到可能的最佳数据类。 当设备已注册到提供程序时, (自动和手动注册模式) 其他数据类时,这同样适用。 数据类中的任何更改都应导致NDIS_STATUS_WWAN_PACKET_SERVICE通知。

  • RegisterAction 设置为 WwanRegisterActionManual 且无线电为 OFF 时,微型端口驱动程序必须将设备编程为手动注册模式,并使用事务通知完成请求。 RegisterState 应设置为 WwanRegisterStateDeregistered。 当无线电更改为 ON 状态并且必须发送事件通知时,设备必须尝试手动注册。

  • RegisterAction 设置为 WwanRegisterActionAutomatic 且 Radio 为 OFF 时,微型端口驱动程序必须将设备编程为自动注册模式,并且必须使用事务通知完成请求。 RegisterState 应设置为 WwanRegisterStateDeregistered。 当无线电进入 ON 状态时,设备必须执行自动注册,并且必须发送事件通知。

  • 如果紧急状态注册 ( WwanRegisterStateDenied) ,应将 uStatus 设置为 WWAN_STATUS_SUCCESS,并且必须在 将 EmergencyMode 设置为 WwanEmergencyModeOn 的情况下发送NDIS_STATUS_WWAN_READY_INFO通知。

  • 若要使用 状态 WwanRegisterStateDeregistered ,微型端口驱动程序必须使用以下准则:

    • 微型端口驱动程序使用 WwanRegisterStateDeregistered 来通知 MB 服务无线电已关闭,但对 RegisterAction 的请求已完成。

    • 微型端口驱动程序使用 WwanRegisterStateDeregistered 来通知 MB 服务已启动的网络已取消注册。

    • 微型端口驱动程序使用 WwanRegisterStateDeregistered 来通知 MB 服务由于没有网络覆盖而与网络的连接断开。

  • GSM 和 CDMA 设备必须发送注册状态通知,以通知运营商 PS 连接的可用性或可用性。 当 MB 设备检测到运营商网络的可用性时,它必须发送具有相应注册状态之一的事件通知- WwanRegisterStateHomeWwanRegisterStateRoamingWwanRegisterStatePartner。 丢失运营商网络信号时,必须将 带有 WwanRegisterStateDeregistered 的事件通知指示给 MB 服务。

微型端口驱动程序根据以下规则返回查询结果:

  • 当设备尝试在注册期间锁定提供程序时,微型端口驱动程序应将 RegisterState 设置为 WwanRegisterStateSearchingProviderNameRoamingText 成员都应设置为 NULL。 对于手动注册 模式,必须使用 上次手动注册集请求中的 ProviderId 填充 ProviderId。 在自动注册模式下,ProviderId 可以设置为 NULL

  • 这是暂时性状态,因为微型端口驱动程序最终将在注册结束时进入稳定状态,例如 ,成功注册时,WwanRegisterStateHomeWwanRegisterStatePartnerWwanRegisterStateRoaming ;或 WwanRegisterStateDenied ,用于紧急状态注册。

  • 如果未向任何提供程序注册设备,微型端口驱动程序应返回 WwanRegisterStateDeregisteredProviderNameRoamingText 成员都应设置为 NULL。 对于手动注册 模式,必须使用 上次手动注册集请求中的 ProviderId 填充 ProviderId。 在自动注册模式下,ProviderId 可以设置为 NULL

  • 如果设备已注册到家庭提供商,微型端口驱动程序应将 RegisterState 设置为 WwanRegisterStateHomeProviderId 成员应设置为主提供程序 ID。 ProviderName 必须设置为主提供商网络的名称。 RoamingText 成员应设置为 NULL

  • 如果设备已注册到漫游提供商,则微型端口驱动程序应分别将 RegisterState 设置为 WwanRegisterStatePartner (如果提供程序是漫游合作伙伴的首选漫游合作伙伴或仅 将 WwanRegisterStateRoaming 设置为 WwanRegisterStateRoaming )。 如果微型端口驱动程序不区分这两者,则应将值设置为 WwanRegisterStateRoamingProviderId 成员应设置为设备注册到的当前提供程序的提供程序 ID,并且必须使用当前注册的提供程序名称填充 ProviderName如果存在,则 RoamingText 成员应设置为某个提供程序特定的字符串值,否则应设置为 NULL

要求

版本

在 Windows 7 和更高版本的 Windows 中可用。

标头

Ndis.h

另请参阅

NDIS_WWAN_REGISTRATION_STATE

OID_WWAN_REGISTER_STATE