WWAN_REGISTRATION_STATE 结构 (wwan.h)

WWAN_REGISTRATION_STATE结构表示 MB 设备的注册状态。

语法

typedef struct _WWAN_REGISTRATION_STATE {
  ULONG               uNwError;
  WWAN_REGISTER_STATE RegisterState;
  WWAN_REGISTER_MODE  RegisterMode;
  WCHAR               ProviderId[WWAN_PROVIDERID_LEN];
  WCHAR               ProviderName[WWAN_PROVIDERNAME_LEN];
  WCHAR               RoamingText[WWAN_ROAMTEXT_LEN];
  DWORD               WwanRegFlags;
  WWAN_CELLULAR_CLASS CurrentCellularClass;
  ULONG               PreferredDataClasses;
} WWAN_REGISTRATION_STATE, *PWWAN_REGISTRATION_STATE;

成员

uNwError

注册失败时出现网络特定错误。 有关此成员的详细信息,请参阅以下“备注”部分。

RegisterState

设备的注册状态。 有关定义值的列表,请参阅 WWAN_REGISTER_STATE

WwanRegisterStatePartner 值指示设备正在首选合作伙伴网络提供商上漫游,而 WwanRegisterStateRoaming 值指示设备只是漫游。 如果漫游状态的合作伙伴特性化不可用,微型端口驱动程序应报告 WwanRegisterStateRoaming

RegisterMode

设备的注册模式。 有关定义值的列表,请参阅 WWAN_REGISTER_MODE

ProviderId[WWAN_PROVIDERID_LEN]

以 NULL 结尾的数值 (0-9) 字符串,表示网络提供程序标识。

对于基于 GSM 的网络,此字符串是三位数移动国家/地区代码 (MCC) 和两位或三位数移动网络代码 (MNC) 串联。 基于 GSM 的运营商可能有多个 MNC,因此有多个 ProviderId

对于基于 CDMA 的网络,此字符串是 SID) (五位数的系统 ID。 通常,基于 CDMA 的运营商具有多个 SID。 通常,一个运营商为每个市场都有一个 SID,这通常在一个国家内部按法规划分,例如美国美国的大都市统计区 (MSA) 。 如果此信息不可用,基于 CDMA 的设备微型端口驱动程序必须指定WWAN_CDMA_DEFAULT_PROVIDER_ID。

处理 查询 请求并且注册状态处于自动注册模式时,此成员包含设备当前与 (关联的提供程序 ID(如果适用) )。 当注册状态处于手动注册模式时,此成员包含请求设备向 (注册的提供程序 ID,即使提供程序) 不可用也是如此。

处理 设置 请求且注册状态为手动模式时,这包含 MB 服务为设备注册选择的提供程序 ID。 当注册状态处于自动注册模式时,将忽略此参数。

如果提供程序 ID 不可用,必须将 CDMA 1xRTT 提供程序设置为 WWAN_CDMA_DEFAULT_PROVIDER_ID。

ProviderName[WWAN_PROVIDERNAME_LEN]

一个以 NULL 结尾的字符串,表示网络提供程序的名称。 此成员最多只能WWAN_PROVIDERNAME_LEN个字符。

对于基于 GSM 的网络,如果首选国家/地区首字母缩写和移动网络名称 (PPCI&N) 的长度超过 20 个字符,微型端口驱动程序应缩写网络名称。

当 MB 服务设置首选提供程序列表时,将忽略此成员。

微型端口驱动程序应为没有此信息的设备指定 NULL 字符串。

RoamingText[WWAN_ROAMTEXT_LEN]

以 NULL 结尾的字符串,用于通知用户设备正在漫游。 此成员最多只能WWAN_ROAMTEXT_LEN个字符。

当注册状态为 WwanRegisterStatePartnerWwanRegisterStateRoaming 时,此文本应向用户提供其他信息。 此成员是可选的。

WwanRegFlags

注册标志。

含义
WWAN_REG_FLAGS_NONE 无注册标志。
WWAN_REG_FLAGS_NO_MANUAL_REG 无需手动附加。
WWAN_REG_FLAGS_PS_AUTO_ATTACH 指示 MB 设备管理其自己的数据包上下文。 MB 服务不会将数据包分离发送到微型端口驱动程序,但可能会发送数据包附加。

CurrentCellularClass

已注册网络的当前手机网络类。 对于仅支持单个手机网络类的网络,此成员应设置为该手机网络类。 对于支持多模式的网络,当网络更改其手机网络类时,微型端口驱动程序会向 MB 服务发送NDIS_STATUS_WWAN_REGISTER_STATE通知。

PreferredDataClasses

一个位掩码,表示连接首选的数据访问技术。

注解

查询设置 OID 请求以及未经请求的状态事件使用 uNwError 成员。 如果没有特定于网络的错误或网络特定错误未知,微型端口驱动程序应将此成员设置为零。 MB 操作语义中的“状态指示结构”部分显示 3GPP TS 24.008 规范中定义的注册原因代码失败值。

以下几点提供了在不同情况下返回网络特定错误的指南:

  • 如果网络注册因网络特定错误而失败,微型端口驱动程序应返回特定于网络的错误以响应 查询 请求。 在这种情况下,微型端口驱动程序应将 NDIS_WWAN_REGISTRATION_STATE 结构的 uStatus 成员设置为WWAN_STATUS_SUCCESS,并将 uNwError 成员设置为特定于网络的错误代码。
  • 如果 设置 请求失败,微型端口驱动程序应返回特定于网络的错误代码。 在这种情况下,微型端口驱动程序应将 NDIS_WWAN_REGISTRATION_STATE 结构的 uStatus 成员设置为 WWAN_STATUS_FAILURE,并将 uNwError 成员设置为网络特定的错误代码。
  • 例如,每当设备注册状态因网络取消注册设备 (而更改时,网络取消注册设备是因为设备的订阅已过期) 则未经请求的状态事件应包括特定于网络的错误。 在这种情况下,微型端口驱动程序应将 NDIS_WWAN_REGISTRATION_STATE 结构的 uStatus 成员设置为WWAN_STATUS_SUCCESS,并将 uNwError 成员设置为网络特定的错误代码。
若要在处理OID_WWAN_REGISTER_STATE请求时返回特定于网络的错误,微型端口驱动程序应将 NDIS_WWAN_REGISTRATION_STATE 结构的 uStatus 成员设置为WWAN_STATUS_FAILURE,并将 uNwError 成员设置为网络特定的错误代码。

微型端口驱动程序可以提供网络返回的数据包附加错误代码的 GSM 标准规范定义的其他错误代码。 例如,微型端口驱动程序可以通过 uNwError 成员将 3GPP 规范 TS 24.008 数据包附加错误代码(如错误代码 12 (不允许的位置区域) )传达给 MB 服务。

微型端口驱动程序必须尽早报告原因代码。 例如,如果 MB 设备在尝试向网络提供商注册设备时遇到以下代码之一,则微型端口驱动程序应在该时间进行报告。

连接到多模式网络的微型端口驱动程序应通过 NDIS_STATUS_WWAN_REGISTER_STATE 通知指示手机网络类更改。

要求

要求
最低受支持的客户端 适用于 Windows 8 及更高版本的 Windows。
标头 wwan.h (包括 Wwan.h)

另请参阅

NDIS_WWAN_REGISTRATION_STATE

WWAN_REGISTER_MODE

WWAN_REGISTER_STATE