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]
ネットワーク プロバイダー ID を表す NULL で終わる数値 (0 から 9) の文字列。
GSM ベースのネットワークの場合、この文字列は 3 桁のモバイル国コード (MCC) と 2 桁または 3 桁のモバイル ネットワーク コード (MNC) を連結したものです。 GSM ベースの通信事業者には複数の MNC があり、そのため、複数の ProviderId があります。
CDMA ベースのネットワークの場合、この文字列は 5 桁のシステム ID (SID) です。 一般に、CDMA ベースのキャリアには複数の SID があります。 通常、通信事業者は市場ごとに 1 つの 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
登録済みネットワークの現在の携帯ネットワーク クラス。 1 つの携帯ネットワーク クラスのみをサポートするネットワークの場合、このメンバーはその携帯ネットワーク クラスに設定する必要があります。 マルチモード対応ネットワークの場合、ミニポート ドライバーは、ネットワークがその携帯ネットワーク クラスを変更したときに、MB サービスにNDIS_STATUS_WWAN_REGISTER_STATE通知を送信します。
PreferredDataClasses
接続に推奨されるデータ アクセス テクノロジを表すビットマスク。
注釈
OID 要求と未承諾状態イベントのクエリと設定には、uNwError メンバーが使用されます。 ネットワーク固有のエラーがない場合、またはネットワーク固有のエラーが不明な場合は、ミニポート ドライバーは、このメンバーを 0 に設定する必要があります。 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 標準仕様で定義されている追加のエラー コードを提供できます。 たとえば、ミニポート ドライバーは、エラー コード 12 (場所領域は許可されていません) などの 3GPP 仕様 TS 24.008 パケットアタッチ エラー コードを 、uNwError メンバーを介して MB サービスに通信できます。
ミニポート ドライバーは、可能な限り早い時点で原因コードを報告する必要があります。 たとえば、MB デバイスがネットワーク プロバイダーにデバイスを登録しようとしたときにこれらのコードのいずれかを検出した場合、ミニポート ドライバーはその時点で報告する必要があります。
マルチモード ネットワークに接続されているミニポート ドライバーは、 NDIS_STATUS_WWAN_REGISTER_STATE 通知によって携帯ネットワーク クラスの変更を示す必要があります。
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント | Windows 8以降のバージョンの Windows で使用できます。 |
Header | wwan.h (Wwan.h を含む) |