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個字元。
當註冊狀態為 WwanRegisterStatePartner 或 WwanRegisterStateRoaming 時,此文字應該會為使用者提供其他資訊。 這個成員是選擇性的。
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 成員設定為網路特定的錯誤碼。
迷你埠驅動程式可以提供其他錯誤碼,如網路所傳回封包附加錯誤碼的 GSM 標準規格所定義。 例如,迷你埠驅動程式可以透過 uNwError 成員將 3GPP 規格 TS 24.008 封包附加錯誤碼通訊,例如錯誤碼 12 (位置區域不允許) 。
迷你埠驅動程序必須報告最早可能實例的原因碼。 例如,如果 MB 裝置在嘗試向網路提供者註冊裝置時遇到其中一個程式代碼,迷你埠驅動程式應該在該時間回報它。
線上到多模式網路的迷你埠驅動程序應該會透過 NDIS_STATUS_WWAN_REGISTER_STATE 通知來指出行動數據類別變更。
規格需求
需求 | 值 |
---|---|
最低支援的用戶端 | Windows 8 及更新版本的 Windows 中提供。 |
標頭 | wwan.h (包含 Wwan.h) |