WWAN_PACKET_SERVICE 结构 (wwan.h)
WWAN_PACKET_SERVICE 结构表示 MB 设备的数据包服务附件状态。
语法
typedef struct _WWAN_PACKET_SERVICE {
ULONG uNwError;
WWAN_PACKET_SERVICE_STATE PacketServiceState;
ULONG AvailableDataClass;
ULONG CurrentDataClass;
WWAN_5G_FREQUENCY_RANGE FrequencyRange;
ULONG CurrentDataSubClass;
WWAN_SINGLE_TAI CurrentTai;
ULONG Rel3GppVer;
} WWAN_PACKET_SERVICE, *PWWAN_PACKET_SERVICE;
成员
uNwError
数据包附加或数据包分离失败时出现网络特定错误。 有关此成员的详细信息,请参阅以下“备注”部分。
PacketServiceState
设备的数据包服务状态。
AvailableDataClass
一个位图,表示哪些数据类可用于当前网络中的设备。 有关值的详细列表,请参阅 WWAN_DEVICE_CAPS 的 WwanDataClass 成员。
当设备未注册到网络、没有数据类或不支持的数据类不可用时,微型端口驱动程序必须将此成员设置为WWAN_DATA_CLASS_NONE。 当设备注册到网络时,微型端口驱动程序必须使用有效值设置此成员。
CurrentDataClass
WWAN_DEVICE_CAPS中 WwanDataClass 成员中的单个值,表示设备当前正在使用的数据类。
对于除 HSPA 以外的所有数据服务,微型端口驱动程序应将此成员设置为单个WWAN_DATA_CLASS_XXX值。 对于 HSPA 数据服务,微型端口驱动程序应指定位 OR WWAN_DATA_CLASS_HSDPA 和WWAN_DATA_CLASS_HSUPA。
微型端口驱动程序必须使用有效值设置此成员,并在设备更改服务(例如,从 1xRTT 更改为 1xEV-DO)时发送相应的通知。
如果数据类不是 WWAN_DEVICE_CAPS WwanDataClass 成员中的预定义值之一,微型端口驱动程序应将此成员设置为 WWAN_DATA_CLASS_CUSTOM。
FrequencyRange
一个WWAN_5G_FREQUENCY_RANGE值,该值指定设备使用的频率范围。 仅当 CurrentDataClass为 WWAN_DATA_CLASS_5G_NSA 或 WWAN_DATA_CLASS_SA 时,此成员才有效。
CurrentDataSubClass
此字段仅用于NDIS_WWAN_PACKET_SERVICE_STATE_REVISION_3。
CurrentTai
表示当前单个跟踪区域标识 ( TAI) 的WWAN_SINGLE_TAI结构。 此字段仅用于NDIS_WWAN_PACKET_SERVICE_STATE_REVISION_3。
Rel3GppVer
如果未知,将使用0xFFFFFFFF。 未知表示MBIM_PACKET_SERVICE_INFO_V3中不包含MBIM_TLV_TYPE_3GPP_REL_VERSION,设备直接返回0xFFFFFFFF,或者设备使用的是 MBIM 3.0 或更早版本。
注解
当前的数据包附加服务状态通常反映在设备的用户界面中。
MB 服务将 AvailableDataClass 中表示的数据类与受支持的数据类组合在一起,这些类报告了设备的功能,以便向用户显示可用选项的交集。
如果设备还支持除 WWAN_DEVICE_CAPS的 WwanDataClass 成员中的预定义值以外的数据类,则微型端口驱动程序应设置WWAN_DATA_CLASS_CUSTOM标志以及为此成员中的数据类定义的相应位掩码。
查询 和 设置 OID 请求以及未经请求的状态事件使用 uNwError 成员。 如果没有特定于网络的错误或网络特定错误未知,微型端口驱动程序应将此成员设置为零。 MB 操作语义中的“状态指示结构”部分显示 3GPP TS 24.008 规范中定义的数据包附加或数据包分离导致代码失败值。
以下几点提供了在不同情况下返回网络特定错误的指南:
- 如果数据包附加操作因网络特定错误而失败,微型端口驱动程序应返回特定于网络的错误以响应 查询 请求。 在这种情况下,微型端口驱动程序应将 NDIS_WWAN_PACKET_SERVICE_STATE 结构的 uStatus 成员设置为WWAN_STATUS_SUCCESS,并将 uNwError 成员设置为特定于网络的错误代码。
- 如果 设置 请求失败,微型端口驱动程序应返回特定于网络的错误代码。 在这种情况下,微型端口驱动程序应将 NDIS_WWAN_PACKET_SERVICE_STATE 结构的 uStatus 成员设置为WWAN_STATUS_FAILURE,并将 uNwError 成员设置为网络特定的错误代码。
- 每当设备注册状态因网络数据包分离设备而更改时,未经请求的状态事件应包括特定于网络的错误。 在这种情况下,微型端口驱动程序应将NDIS_WWAN_PACKET_SERVICE_STATE结构的 uStatus 成员设置为WWAN_STATUS_SUCCESS,并将 uNwError 成员设置为网络特定的错误代码。
微型端口驱动程序必须尽早报告原因代码。 例如,如果 MB 设备在尝试向网络提供商注册设备时遇到以下代码之一,则微型端口驱动程序应在该时间进行报告。
要求
要求 | 值 |
---|---|
最低受支持的客户端 | 在 Windows 7 和更高版本的 Windows 中可用。 |
标头 | wwan.h (包括 Wwan.h) |