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 数据服务,微型端口驱动程序应指定按位或WWAN_DATA_CLASS_HSDPA和WWAN_DATA_CLASS_HSUPA。

微型端口驱动程序必须使用有效值设置此成员,并在设备更改服务时发送相应的通知,例如,从 1xRTT 更改为 1xEV-DO。

如果数据类不是 WwanDataClass 成员中的预定义值之一,则微型端口驱动程序应将此成员设置为 WWAN_DEVICE_CAPSWWAN_DATA_CLASS_CUSTOM。

FrequencyRange

一个 WWAN_5G_FREQUENCY_RANGE 值,该值指定设备正在使用的频率范围。 仅当 CurrentDataClassWWAN_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_TLV_TYPE_3GPP_REL_VERSION不包含在MBIM_PACKET_SERVICE_INFO_V3中,设备直接返回0xFFFFFFFF,或者设备使用的是 MBIM 3.0 或更高版本。

言论

当前数据包附加服务状态通常反映在设备的用户界面中。

MB 服务将 AvailableDataClass 中表示的数据类与设备功能报告的受支持数据类相结合,以向用户显示可用选项的交集。

如果设备还支持除 WWAN_DEVICE_CAPSWwanDataClass 成员中的预定义值以外的任何数据类,则微型端口驱动程序应设置WWAN_DATA_CLASS_CUSTOM标志以及为此成员中的数据类定义的相应位掩码。

查询设置 OID 请求和未经请求的状态事件使用 uNwError 成员。 如果没有特定于网络的错误或网络特定的错误未知,微型端口驱动程序应将此成员设置为零。 MB作语义中的“状态指示结构”部分 显示 3GPP TS 24.008 规范中定义的数据包附加或数据包分离导致代码故障值。

以下几点提供了在不同方案中返回特定于网络的错误的准则:

  • 如果数据包附加作因网络特定错误而失败,微型端口驱动程序应返回特定于网络的错误,以响应 查询 请求。 在这种情况下,微型端口驱动程序应将 uStatus NDIS_WWAN_PACKET_SERVICE_STATE结构的成员设置为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