次の方法で共有


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 メンバーからの 1 つの値。

HSPA を除くすべてのデータ サービスについて、ミニポート ドライバーは、このメンバーを 1 つのWWAN_DATA_CLASS_XXX値に設定する必要があります。 HSPA データ サービスの場合、ミニポート ドライバーでは、ビット単位の OR のWWAN_DATA_CLASS_HSDPAとWWAN_DATA_CLASS_HSUPAを指定する必要があります。

ミニポート ドライバーは、有効な値を持つこのメンバーを設定し、たとえば、1xRTT から 1xEV-DO に、デバイスがサービスを変更するときに適切な通知を送信する必要があります。

データ クラスが WWAN_DEVICE_CAPS の WwanDataClass メンバーの定義済みの値の 1 つでない場合、ミニポート ドライバーは、このメンバー をWWAN_DATA_CLASS_CUSTOMに設定する必要があります。

FrequencyRange

デバイス 使用している周波数範囲を指定するWWAN_5G_FREQUENCY_RANGE値。 このメンバーは、 CurrentDataClassWWAN_DATA_CLASS_5G_NSA または WWAN_DATA_CLASS_SAの場合にのみ有効です。

CurrentDataSubClass

このフィールドは、NDIS_WWAN_PACKET_SERVICE_STATE_REVISION_3にのみ使用されます。

CurrentTai

現在の単一の追跡エリア ID (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_CAPSの WwanDataClass メンバーの定義済みの値 以外のデータ クラスもサポートしている場合、ミニポート ドライバーは、このメンバーのデータ クラスに対して定義された適切なビットマスクと共にWWAN_DATA_CLASS_CUSTOM フラグを設定する必要があります。

OID 要求と未承諾状態イベントのクエリ設定には、uNwError メンバーが使用されます。 ネットワーク固有のエラーがない場合、またはネットワーク固有のエラーが不明な場合は、ミニポート ドライバーは、このメンバーを 0 に設定する必要があります。 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 標準仕様で定義されている追加のエラー コードを提供できます。 たとえば、ミニポート ドライバーは、エラー コード 12 (場所領域は許可されていません) などの 3GPP 仕様 TS 24.008 パケットアタッチ エラー コードを 、uNwError メンバーを介して MB サービスに通信できます。

ミニポート ドライバーは、可能な限り早い時点で原因コードを報告する必要があります。 たとえば、MB デバイスがネットワーク プロバイダーにデバイスを登録しようとしたときにこれらのコードのいずれかを検出した場合、ミニポート ドライバーはその時点で報告する必要があります。

要件

要件
サポートされている最小のクライアント Windows 7 以降のバージョンの Windows で使用できます。
Header wwan.h (Wwan.h を含む)

こちらもご覧ください

NDIS_WWAN_PACKET_SERVICE_STATE

WWAN_PACKET_SERVICE_STATE