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]

NULL 終止的數值 (0-9) 字串,表示網路提供者識別。

針對 GSM 型網路,此字串是三位數行動國家/地區代碼 (MCC) 的串連,以及兩位數或三位數的行動網路代碼 (MNC) 。 GSM 型電信業者可能有多個 MNC,因此有多個 ProviderId

對於 CDMA 型網路,此字串是五位數的系統標識碼 (SID) 。 一般而言,CDMA 型電信業者有多個 SID。 一般而言,貨運公司針對每個市場都有一個 SID,通常會依法規在地理上分割,例如美國 美國 (MSA) 。 CDMA 型裝置的迷你埠驅動程式必須在無法使用此資訊時指定WWAN_CDMA_DEFAULT_PROVIDER_ID。

處理 查詢 要求,且註冊狀態處於自動註冊模式時,此成員會包含裝置目前與 (相關聯的提供者標識符,如果適用的話) 。 當註冊狀態處於手動註冊模式時,此成員會包含要求裝置向 (註冊的提供者標識碼,即使提供者無法使用) 也一樣。

處理 設定 要求且註冊狀態處於手動模式時,這會包含 MB 服務為裝置所選取的提供者識別碼,以供裝置註冊。 當註冊狀態處於自動註冊模式時,會忽略此參數。

如果提供者標識碼無法使用,則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個字元。

當註冊狀態為 WwanRegisterStatePartnerWwanRegisterStateRoaming 時,此文字應該會為使用者提供其他資訊。 這個成員是選擇性的。

WwanRegFlags

註冊旗標。

意義
WWAN_REG_FLAGS_NONE 沒有註冊旗標。
WWAN_REG_FLAGS_NO_MANUAL_REG 沒有手動附加。
WWAN_REG_FLAGS_PS_AUTO_ATTACH 表示 MB 裝置會管理自己的封包內容。 MB 服務不會將封包中斷鏈接傳送至迷你埠驅動程式,但可能會傳送封包連結。

CurrentCellularClass

已註冊網路的目前行動數據類別。 對於僅支援單一行動數據類別的網路,此成員應該設定為該行動數據類別。 對於支援多重模式的網路,迷你埠驅動程式會在網路變更其行動數據類別時,將NDIS_STATUS_WWAN_REGISTER_STATE通知傳送至 MB 服務。

PreferredDataClasses

位掩碼,表示連接慣用的數據存取技術。

備註

查詢設定 OID 要求,以及未經要求的狀態事件會使用 uNwError 成員。 如果沒有網路特定錯誤,或不知道網路特定錯誤,迷你埠驅動程序應該將此成員設定為零。 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 成員設定為網路特定的錯誤碼。
若要在處理OID_WWAN_REGISTER_STATE要求時傳回網路特定錯誤,迷你埠驅動程式應將NDIS_WWAN_REGISTRATION_STATE結構的 uStatus 成員設定為 WWAN_STATUS_FAILURE,並將 uNwError 成員設定為網路特定的錯誤碼。

迷你埠驅動程式可以提供其他錯誤碼,如網路所傳回封包附加錯誤碼的 GSM 標準規格所定義。 例如,迷你埠驅動程式可以透過 uNwError 成員將 3GPP 規格 TS 24.008 封包附加錯誤碼通訊,例如錯誤碼 12 (位置區域不允許) 。

迷你埠驅動程序必須報告最早可能實例的原因碼。 例如,如果 MB 裝置在嘗試向網路提供者註冊裝置時遇到其中一個程式代碼,迷你埠驅動程式應該在該時間回報它。

線上到多模式網路的迷你埠驅動程序應該會透過 NDIS_STATUS_WWAN_REGISTER_STATE 通知來指出行動數據類別變更。

規格需求

需求
最低支援的用戶端 Windows 8 及更新版本的 Windows 中提供。
標頭 wwan.h (包含 Wwan.h)

另請參閱

NDIS_WWAN_REGISTRATION_STATE

WWAN_REGISTER_MODE

WWAN_REGISTER_STATE