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个字符。
当注册状态为 WwanRegisterStatePartner 或 WwanRegisterStateRoaming 时,此文本应向用户提供其他信息。 此成员是可选的。
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 成员设置为网络特定的错误代码。
微型端口驱动程序可以提供网络返回的数据包附加错误代码的 GSM 标准规范定义的其他错误代码。 例如,微型端口驱动程序可以通过 uNwError 成员将 3GPP 规范 TS 24.008 数据包附加错误代码(如错误代码 12 (不允许的位置区域) )传达给 MB 服务。
微型端口驱动程序必须尽早报告原因代码。 例如,如果 MB 设备在尝试向网络提供商注册设备时遇到以下代码之一,则微型端口驱动程序应在该时间进行报告。
连接到多模式网络的微型端口驱动程序应通过 NDIS_STATUS_WWAN_REGISTER_STATE 通知指示手机网络类更改。
要求
要求 | 值 |
---|---|
最低受支持的客户端 | 适用于 Windows 8 及更高版本的 Windows。 |
标头 | wwan.h (包括 Wwan.h) |