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_CAPSWwanDataClass 成员。

当设备未注册到网络、没有数据类或不支持的数据类不可用时,微型端口驱动程序必须将此成员设置为WWAN_DATA_CLASS_NONE。 当设备注册到网络时,微型端口驱动程序必须使用有效值设置此成员。

CurrentDataClass

WWAN_DEVICE_CAPSWwanDataClass 成员中的单个值,表示设备当前正在使用的数据类。

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

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

要求

要求
最低受支持的客户端 在 Windows 7 和更高版本的 Windows 中可用。
标头 wwan.h (包括 Wwan.h)

另请参阅

NDIS_WWAN_PACKET_SERVICE_STATE

WWAN_PACKET_SERVICE_STATE