佈建對於行動通訊式連線裝置至關重要,因為每個行動電信業者的網路都有不同的 APN 設定。 APN配置通常可以分為兩類:
- 作業系統已知的 APN 組態,因為作業系統上方有需要這些連線的應用程式或用戶端。
- 作業系統無法得知的 APN 組態,因為這些組態是由數據機內部自行使用,並用於作業系統及其用戶端未能利用的連線。
理想情況下,數據機應該只儲存作業系統不需要知道的 APN 設定。 不過,IHV 和 OEM 合作夥伴傳統上也會在數據機中提供因特網和購買 APN,這是 OS 已知的設定。 在 Windows 10 版本 1703 發行之前,Windows 只會從數據機讀取 Internet 和購買 APN 設定,以建立 Internet 連線。 從 Windows 10 版本 1703 開始,可能還有其他案例,數據機的 APN 設定必須由 Windows 管理,特別是如果 OS 中有用戶端,例如想要變更行動數據設定的使用者設定或 OMA-DM。 這反過來也可能影響數據機的 APN 配置。 例如,數據機中可能有一個 IMS 堆疊,該堆疊正在使用 IMS APN 進行 SMS over IMS。 一般而言,這些連線不會公開給作業系統,但在特定實務範例下,可能必須變更 IMS APN 配置。 此變更可以透過作業系統完成。 為了支援這一點,從 Windows 10 版本 1703 開始,作業系統可以在數據機中配置不同類型的 APN。
USB 論壇的 MBIM 1.0 和 Microsoft NDIS 分別具有現有的 CID 和 OID,以允許 OS 在數據機中設定和查詢 APN 設定。 針對 MBIM 1.0,它會透過 MBIM_CID_PROVISIONED_CONTEXT 執行此動作,而針對 NDIS 則會透過 OID_WWAN_PROVISIONED_CONTEXTS 執行此動作。 不過,現有的 CID 和 OID 的設計並未針對數據機在各種情況下預期如何運作 (例如電源循環或 SIM 卡交換) 提供明確指引。 想要支援 OS 設定和更新數據機布建內容的裝置,必須在 Windows 10 版本 1703 中實作較新版本的 CID 和 OID。 為了確保回溯相容性,對於想要在 1703 之前的 OS 版本上支援新硬體的 IHV/OEM,他們必須繼續支援現有的MBIM_CID_PROVISIONED_CONTEXT和OID_WWAN_PROVISIONED_CONTEXTS。 從 Windows 10 版本 1703 開始,如果裝置支援新版本的 CID 和 OID,則 OS 只會使用較新版本的命令來查詢和設定數據機中的 APN 內容設定。
MB 介面在佈建環境操作上的更新
雖然 MBIM 具有擷取和取代儲存在數據機中的內容的命令,但它沒有「停用」或「啟用」配置檔的欄位。 因此,必須針對 Windows 10 版本 1703 更新現有的MBIM_CID_PROVISIONED_CONTEXT,才能包含這項功能。 由於 MBIM 沒有版本設定機制,因此新的 MSFT 專屬 CID 會定義為 MBIM_CID_MS_PROVISIONED_CONTEXT_V2。
服務名稱 = Basic Connect 延伸模組
UUID = UUID 基本連接擴展
UUID 值 = 3d01dcc5-fef5-4d05-0d3abef7058e9aaf
| CID | 指令碼 | 最低OS版本 |
|---|---|---|
| MBIM_CID_MS_PROVISIONED_CONTEXT_V2 | 1 | Windows 10 版本 1703 |
MBIM_CID_MS_PROVISIONED_CONTEXT_V2
說明
雖然 MBIM 1.0 已定義 OS 及其上層用戶端的MBIM_CID_PROVISIONED_CONTEXT,以管理數據機中布建的內容,但 Windows 傳統上只會查詢數據機中的內容,但不會從 OS 設定它。 從 Windows 10 版本 1703 開始,操作系統對能夠設定數據機中的上下文的需求日益增加。 例如,如果數據機中有對 OS 不透明的 IMS 堆疊,則 OS 應該能夠指定數據機應該使用的 IMS APN。 因為每個 modem IHV 都可以有自己的專屬方式來將內容儲存在 modem 中,所以 OS 無法像 (MBIM_CID_PROVISIONED_CONTEXT) 所建議的那樣在 ContextId 層級上管理配置檔。 相反地,從作業系統的角度來看,更重要的是規定每個上下文類型要使用哪個上下文。 回到 IMS 範例,無論數據機中有多少現有的佈建內容,如果作業系統設定具有 MBIM_CONTEXT_TYPE = IMS 的內容,則數據機起始的所有 IMS 流量都應該只在該內容上嘗試。
MBIM 1.0 規定 MBIM_CID_PROVISIONED_CONTEXT 只能在與插入的 SIM 卡提供者識別碼(MCC/MNC)匹配的上下文中執行查詢。 對於 Set requests,MBIM_CID_PROVISIONED_CONTEXT可以指定要儲存的上下文的提供者 ID。 MBIM_CID_MS_PROVISIONED_CONTEXT_V2 指定了一種行為,這種行為與 MBIM 1.0 類似但具有不同之處。 針對每個查詢,OS 會繼續預期數據機只會傳回符合插入 SIM 卡提供者識別碼的內容。 針對 [設定],命令將不再讓 OS 設定與 SIM 卡中目前提供者識別碼不符的內容。 預期「Set 請求」會為當前呈現的 SIM 卡的提供者識別碼建立一個操作環境。 例如,使用者從 SIM 卡 1 切換到 SIM 卡 2,然後又切換回 SIM 卡 1。 預期在第一次 SIM 交換期間,數據機應該先解析其所有內容,再載入 SIM 2 的內容。 當使用者切換回 SIM 卡 1 時,應該還原 SIM 卡 1 的原廠預設設定。 數據機預計不會跨 SIM 交換儲存運行時配置。
下圖說明使用者從一張 SIM 切換至另一張 SIM 卡,然後返回第一個 SIM 卡時的範例流程。
預先設定數據機的 OEM 和 IHV 應該保留原始原廠設定,以防 OS 或使用者想要將數據機中的內容設定還原為原始設定。 只應該還原目前插入 SIM 卡提供者識別碼的原始原廠內容。 原始出廠設定預先設定的內容絕不應被作業系統的設定覆寫。 下圖是使用者選擇還原原廠設定時的範例流程:
當 SIM 遺失、鎖定或無法存取提供者識別碼時,數據機預期會失敗查詢或設定要求。 數據機每個提供者識別碼下的每種CONTEXT_TYPE應該只有一個上下文。 如果 IHV 或 OEM 決定在數據機中預先設定數據機內容,請務必確定已針對其選擇執行此動作的每個提供者正確設定內容。 如果插入的 SIM 卡沒有 IHV 預先設定的環境,數據機不應該在沒有操作系統配置的情況下擁有任何環境。 IHV 和 OEM 必須確定 MBIM_MS_CONTEXT_SOURCE = MbimMsContextSourceModemProvisioned,讓作業系統連線時使用數據機的情境(如果它存在的話),而不是從 Windows 的 APN 資料庫覆寫它。
數據機映射如何處理上下文,並透過現有的MBIM_CID_PROVISIONED_CONTEXT返回呈現,取決於每個IHV,而且不在本檔的範圍內。
新的 MBIM_CID_MS_PROVISONED_CONTEXT_V2 命令幾乎與 MBIM 1.0 現有的 MBIM_CID_PROVISIONED_CONTEXT 命令相同,但有數個新增項目。 第一個為作業系統提供了啟用或禁用與數據機中上下文類型相關聯的上下文的能力。 在數據機中停用背景時,數據機預期不會將儲存的背景用於與網路的任何連線,即使是那些作業系統未察覺的連線。 如果作業系統要求連線符合數據機內停用的上下文,數據機應該立即拒絕此要求,且不向網路發出信號。 比對過程應該比對MBIM_MS_CONTEXT_V2結構中的所有欄位。
MBIM 1.0 的 MBIM_CONTEXT_IP_TYPE 結構僅用於MBIM_CID_CONNECT。 在MBIM_CID_MS_PROVISIONED_CONTEXT_V2中,Microsoft已將IP型別新增為每個內容的引數之一。 如果數據機未針對指定的內容進行設定,則應顯示或回報 MBIMContextIPTypeDefault。
在 Windows 10 版本 1703 中,使用支援MBIM_CID_MS_PROVISIONED_CONTEXT_V2的新硬體,將不會從第一方元件使用舊版MBIM_CID_PROVISIONED_CONTEXT。 如果有其他舊版用戶端/OS 元件會向下傳送MBIM_CID_PROVISIONED_CONTEXT,數據機預期會傳回結果,就像在 Windows 10 版本 1703 之前的 Windows 版本中一樣。
查詢
MBIM_MS_PROVISIONED_CONTEXTS_INFO會從 InformationBuffer 中的 Query 和 Set complete 訊息傳回。
針對 Query,InformationBuffer 為 Null。
設定
針對 Set,InformationBuffer 包含MBIM_MS_SET_PROVISIONED_CONTEXT_V2結構。 在 Set 作業中,因為每個數據機 IHV 都可以有專屬方式來管理上下文儲存,因此 OS 不再指定 ContextId 欄位,並預期數據機將上下文對應至適當的插槽。 當作業系統設定內容時,它期望數據機將其用於符合給定內容MBIM_CONTEXT_TYPE的所有連線。 如果數據機無法識別MBIM_CONTEXT_TYPE,即使它可能無法與它連接,它仍然應該存儲它。
未請求的事件
Event InformationBuffer 包含MBIM_MS_PROVISIONED_CONTEXTS_INFO_V2結構。 在某些情況下,佈建的內容清單會由網路透過Over-The-Air(OTA)或簡訊服務(SMS)更新,而不會透過作業系統的MBIM_CID_MS_PROVISIONED_CONTEXT_V2命令。 函式必須更新布建內容清單,並相應地標記 MBIM_MS_CONTEXT_SOURCE = MbimMsContextSourceOperatorProvisioned。 之後,函式必須透過此事件將更新過的清單通知主機。
參數
| 行動 | 設定 | 查詢 | 通知 |
|---|---|---|---|
| 指令 | MBIM_SET_MS_PROVISIONED_CONTEXT_V2 | 不適用 | 不適用 |
| 回應 | MBIM_MS_PROVISIONED_CONTEXT_INFO_V2 | MBIM_MS_PROVISIONED_CONTEXT_INFO_V2 | MBIM_MS_PROVISIONED_CONTEXT_INFO_V2 |
數據結構
查詢
InformationBuffer 應為 NULL,InformationBufferLength 應為零。
設定
下列MBIM_SET_MS_PROVISIONED_CONTEXT_V2資料結構應該在 InformationBuffer 中使用。
| Offset | 大小 | 領域 | 類型 | 說明 |
|---|---|---|---|---|
| 0 | 4 | 行動 | MBIM_MS_CONTEXT_OPERATIONS | 指定使用 SET 指令的作業類型。 如果設定為 MbimMsContextOperationDelete,則應該刪除指定MBIM_CONTEXT_TYPES的內容,並忽略MBIM_SET_MS_PROVISIONED_CONTEXT_V2中的所有其他欄位。 如果設定為 MbimMsContextOperationRestoreFactory,則應該移除所有 OS 建立或修改的內容、應該載入預設的原廠預先設定內容,並忽略MBIM_SET_MS_PROVISIONED_CONTEXT_V2中的所有其他欄位。 |
| 4 | 16 | 上下文類型 | MBIM_CONTEXT_TYPES | 指定要表示的環境定義類型;例如,網際網路連線、VPN (與公司網路的連線) 或 IP 語音 (VOIP)。 如需詳細資訊,請參閱MBIM_CONTEXT_TYPES表。 |
| 20 | 4 | IP 類型 | MBIM_CONTEXT_IP_TYPES | 指定要表示的環境定義類型;例如,網際網路連線、VPN (與公司網路的連線) 或 IP 語音 (VOIP)。 如需詳細資訊,請參閱MBIM_CONTEXT_IP_TYPES表。 |
| 24 | 4 | 啟用 | MBIM_MS_CONTEXT_ENABLE | 指定上下文是否可由數據機使用。 如果設定為 MbimMsContextDisabled,則任何符合內容的 OS 連線要求都應該失敗,而不會向網路發出訊號。 如需詳細資訊,請參閱MBIM_MS_CONTEXT_ENABLE表。 |
| 28 | 4 | 漫遊 | MBIM_MS_CONTEXT_ROAMING_CONTROL | 指定是否允許此內容漫遊。 如需詳細資訊,請參閱 MBIM_MS_CONTEXT_ROAMING_CONTROL 表。 |
| 32 | 4 | 媒體類型 | MBIM_MS_CONTEXT_MEDIA_TYPE | 指定情境用於的媒體傳輸類型。 如需詳細資訊,請參閱MBIM_MS_CONTEXT_MEDIA_TYPE表。 |
| 36 | 4 | 來源 | MBIM_MS_CONTEXT_SOURCE | 指定上下文的建立來源。 如需詳細資訊,請參閱MBIM_MS_CONTEXT_SOURCE表。 |
| 40 | 4 | 存取字串位移 | 抵消 | 在資料緩衝區中位移至字串 AccessString,以存取網路。 針對 GSM 型網路,這會是存取點名稱 (APN) 字串,例如 「data.thephone-company.com」。。 針對 CDMA 型網路,這可能是特殊的撥號代碼,例如 “#777” 或網络存取標識碼 (NAI),例如 “foo@thephone-company.com”。 此成員可以是 Null,以要求網路指派預設 APN。 注意:並非所有網路都支援此 NULL APN 慣例,因此可能出現由無效 APN 引起的連線失敗。 字串的大小不應超過 100 個字元。 |
| 44 | 4 | 存取字串大小 | 尺寸(0..200) | 用於 AccessString 的大小尺寸。 |
| 48 | 4 | 使用者名稱位移 | 抵消 | 位移量 (以位元組為單位),從此結構的開頭計算,到字串 UserName,代表要驗證的使用者名稱。 此成員可以是 NULL。 |
| 52 | 4 | 使用者名稱大小 | 尺寸(0..510) | 用於「UserName」的尺寸。 |
| 56 | 4 | 密碼位移 | 抵消 | 位移量 (以位元組為單位),從此結構的開頭計算,至字串 Password,代表使用者名稱的密碼。 此成員可以是 NULL。 |
| 六十 | 4 | 密碼大小 | 尺寸(0..510) | 用於密碼的大小。 |
| 64 | 4 | 壓縮 | MBIM_COMPRESSION | 指定要用於標頭和數據之數據連接中的壓縮。 此成員僅適用於 GSM 型裝置。 主機用於 CDMA 型裝置時,會將此成員設定為 MBIMCompressionNone。 如需詳細資訊,請參閱MBIM_COMPRESSION表。 |
| 68 | 4 | 驗證協議 | MBIM_AUTH_PROTOCOL | 用於 PDP 啟用的驗證類型。 如需詳細資訊,請參閱MBIM_AUTH_PROTOCOL表。 |
| 72 | 4 | 資料緩衝器 (DataBuffer) | 資料緩衝器 | 包含 AccessString、UserName 和 Password 的資料緩衝區。 |
上表中會使用下列數據結構。
MBIM_MS_CONTEXT_ROAMING_CONTROL指定每個上下文的漫遊策略。 OS 可以指定是否可以在漫遊期間啟用指定的內容。 如果漫遊狀態不符合指定條件,數據機不應在沒有作業系統介入的情況下自行啟用連線上下文。 如果數據機不支援合作夥伴,則所有合作夥伴配置都應被視為等同於家庭。
| 類型 | 價值觀 | 說明 |
|---|---|---|
| MbimMsContextRoamingControlHomeOnly | 0 | 指出該情境是否僅允許在家庭網路中使用。 |
| MbimMsContextRoamingControlPartnerOnly | 1 | 表示上下文是否僅被允許在合作夥伴漫遊網絡中使用。 |
| MbimMsContextRoamingControlNonPartnerOnly | 2 | 指出該使用情境是否只允許於非合作夥伴漫遊網路中使用。 |
| MbimMsContextRoamingControlHomeAndPartner (管理漫遊控制於本地及合作夥伴網絡) | 3 | 指出是否允許在本地和合作夥伴漫遊網路中使用上下文。 |
| MbimMsContextRoamingControlHomeAndNonPartner | 4 | 指出是否允許在家庭和非合作夥伴漫遊網路中使用內容。 |
| MbimMsContext漫遊控制夥伴和非夥伴 | 5 | 指出是否允許在合作夥伴和非合作夥伴漫遊網路中使用內容。 |
| MbimMsContextRoamingControlAllowAll | 6 | 指出是否允許在任何漫遊條件下使用內容。 |
已新增MBIM_MS_CONTEXT_MEDIA_TYPE,以便能夠指定在未來的平台支援 Wi-Fi 卸載時,上下文是用於蜂窩還是iWLAN。 例如,如果上下文設定為行動數據,且數據機目前正在卸載 Wi-Fi,則不應使用該上下文起始連線。
| 類型 | 價值觀 | 說明 |
|---|---|---|
| MbimMsContextMediaTypeCellularOnly | 0 | 指出上下文是否僅限於透過行動網路註冊時使用。 |
| MbimMsContextMediaTypeWifiOnly | 1 | 指出是否僅在通過 iWLAN(Wi-Fi 卸載)註冊時允許使用該情境。 |
| MbimMsContextMediaTypeAll | 2 | 指出是否允許在透過行動數據或 Wi-Fi 註冊時使用情境。 |
MBIM_MS_CONTEXT_ENABLE 指定上下文是否啟用或停用。
| 類型 | 價值觀 | 說明 |
|---|---|---|
| MbimMsContextDisabled | 0 | 預配置的上下文已停用。 數據機不應在此情境中由操作系統或自身啟動。 |
| MbimMsContext已啟用 | 1 | 佈建的上下文已啟用。 如果符合其他條件,則可以啟用情境;例如,如果不允許漫遊,則在漫遊期間不會啟用情境。 |
已新增 MBIM_MS_CONTEXT_SOURCE,使作業系統能夠掌握數據機情境的建立方式。 這有助於 OS 在各種情況 (例如恢復原廠設定) 之後正確運作,因此它可以根據各種操作員需求,知道哪些內容應該持續存在,以及哪些內容應該回到預設狀態。
| 類型 | 價值觀 | 說明 |
|---|---|---|
| MbimMsContextSourceAdmin | 0 | 環境是由作業系統中的企業 IT 系統管理員建立的。 |
| MbimMsContextSourceUser | 1 | 使用者透過作業系統設定創建的情境。 |
| MbimMsContextSource運營商 | 2 | 情境是由操作員透過 OMA-DM 或其他管道建立的。 |
| MbimMsContextSourceModem | 3 | 上下文是由數據機驅動程式隨附的 IHV 或 OEM 所建立。 |
| MbimMsContextSourceDevice | 4 | 內容是由OS APN資料庫所建立。 |
MBIM_MS_CONTEXT_OPERATIONS指定作業系統可以執行的作業,以在數據機中設定內容。
| 類型 | 價值觀 | 說明 |
|---|---|---|
| MbimMsContextOperation預設值 | 0 | 預設作業,包括在數據機中新增或取代現有內容。 |
| MbimMsContextOperation的刪除 | 1 | 刪除操作需要數據機刪除數據機中的現有內容。 |
| MbimMsContextOperationRestoreFactory | 2 | 還原目前插入 SIM 卡提供者識別碼的原廠預先設定內容。 OS 產生或取代的所有上下文應被移除並替換。 如果目前插入的 SIM 提供者識別碼沒有預設預先設定的作業系統內容,則應該移除位於數據機中的設定內容。 |
MBIM 1.0 的原始MBIM_CONTEXT_TYPES仍然有效。 自從定義 MBIM 1.0 以來,Microsoft 正在新增其他內容類型,因為引進了更多類型的內容。 下表定義了要引進的新類型。 IHV 和 OEM 可能會使用其他唯一 UUID 值來定義其他專屬內容類型,這些值不會由 OS 辨識,以供其自己的用途使用。
| 類型 | 價值觀 | 說明 |
|---|---|---|
| MBIMMsContextTypeAdmin | 5f7e4c2e-e80b-40a9-a239-f0abcfd11f4b | 內容用於管理用途,例如裝置管理。 |
| MBIMMSContextTypeApp | 74D88A3D-DFBD-4799-9A8C-7310A37BB2EE | 背景用於被行動電信業者列入允許清單的特定應用程式。 |
| MBIMMsContextTypeXcap | 50d378a7-baa5-4a50-b872-3fe5bb463411 | 內容用於 IMS 服務上的 XCAP 佈建。 |
| MBIMMsContextType網路共享 | 5e4e0601-48dc-4e2b-acb8-08b4016bbaac | 上下文用於移動熱點網絡共享。 |
| MBIMMsContextTypeEmergencyCalling(緊急呼叫) | 5f41adb8-204e-4d31-9da8-b3c970e360f2 | 內容用於IMS緊急通話。 |
回應
下列MBIM_MS_PROVISIONED_CONTEXT_INFO_V2結構應該用於 InformationBuffer。
| Offset | 大小 | 領域 | 類型 | 說明 |
|---|---|---|---|---|
| 0 | 4 | ElementCount (EC) | UINT32 | DataBuffer 中 MBIM_MS_CONTEXT_V2 結構的後續計數。 |
| 4 | 8 * EC | MsProvisionedContextV2RefList | OL_PAIR_LIST | 配對的第一個元素是 4 位元組的位移量,該位移量以位元組為單位計算,從此 MBIM_MS_PROVISIONED_CONTEXTS_INFO_V2 結構的開頭(位移 0) 到 MBIM_MS_CONTEXT_V2 結構。 (如需詳細資訊,請參閱 MBIM_MS_CONTEXT_V2 表。) 成對元素中的第二個元素是一個指向 MBIM_MS_CONTEXT_V2 結構的指標,該指標的大小為 4 位元組。 |
| 4 + 8 * 歐聯 | 資料緩衝器 (DataBuffer) | 資料緩衝器 | MBIM_MS_CONTEXT_V2結構的陣列。 |
MBIM_MS_CONTEXT_V2 (用於上表) 提供指定內容的相關資訊。
| Offset | 大小 | 領域 | 類型 | 說明 |
|---|---|---|---|---|
| 0 | 4 | ContextId | UINT32 | 此內容的唯一標識碼。 |
| 4 | 16 | 上下文類型 | MBIM_CONTEXT_TYPES | 指定要表示的環境定義類型;例如,網際網路連線、VPN (與公司網路的連線) 或 IP 語音 (VOIP)。 裝置應該針對空或未設定的內容指定 MBIMContextTypeNone。 如需詳細資訊,請參閱MBIM_CONTEXT_TYPES表。 |
| 20 | 4 | IP 類型 | MBIM_CONTEXT_IP_TYPES | 如需詳細資訊,請參閱MBIM_CONTEXT_IP_TYPES表。 |
| 24 | 4 | 啟用 | MBIM_MS_CONTEXT_ENABLE | 指定上下文是否可由數據機使用。 如果設定為 MbimMsContextDisabled,則任何符合內容的 OS 連線要求都應該失敗,而不會向網路發出訊號。 如需詳細資訊,請參閱MBIM_MS_CONTEXT_ENABLE表。 |
| 28 | 4 | 漫遊 | MBIM_MS_CONTEXT_ROAMING_CONTROL | 指定是否允許此內容漫遊。 如需詳細資訊,請參閱 MBIM_MS_CONTEXT_ROAMING_CONTROL 表。 |
| 32 | 4 | 媒體類型 | MBIM_MS_CONTEXT_MEDIA_TYPE | 指定情境用於的媒體傳輸類型。 如需詳細資訊,請參閱MBIM_MS_CONTEXT_MEDIA_TYPE表。 |
| 36 | 4 | 來源 | MBIM_MS_CONTEXT_SOURCE | 指定上下文的建立來源。 如需詳細資訊,請參閱MBIM_MS_CONTEXT_SOURCE表。 |
| 40 | 4 | 存取字串位移 | 抵消 | 資料緩衝區中的位移至字串 AccessString,以存取網路。 針對 GSM 型網路,這會是存取點名稱 (APN) 字串,例如 「data.thephone-company.com」。。 針對 CDMA 型網路,這可能是特殊的撥號代碼,例如 “#777” 或網络存取標識碼 (NAI),例如 “foo@thephone-company.com”。 此成員可以是 Null,以要求網路指派預設 APN。 注意:並非所有網路都支援此 NULL APN 慣例,因此可能出現由無效 APN 引起的連線失敗。 字串的大小不應超過 100 個字元。 |
| 44 | 4 | 存取字串大小 | 尺寸(0..200) | 用於 AccessString 的大小尺寸。 |
| 48 | 4 | 使用者名稱位移 | 抵消 | 位移量 (以位元組為單位),從此結構的開頭計算,到字串 UserName,代表要驗證的使用者名稱。 此成員可以是 NULL。 |
| 52 | 4 | 使用者名稱大小 | 尺寸(0..510) | 用於使用者名稱的大小。 |
| 56 | 4 | 密碼位移 | 抵消 | 位移量 (以位元組為單位),從此結構的開頭計算,至字串 Password,代表使用者名稱的密碼。 此成員可以是 NULL。 |
| 六十 | 4 | 密碼大小 | 尺寸(0..510) | 用於密碼的大小。 |
| 64 | 4 | 壓縮 | MBIM_COMPRESSION | 指定要用於標頭和數據之數據連接中的壓縮。 此成員僅適用於 GSM 型裝置。 主機用於 CDMA 型裝置時,會將此成員設定為 MBIMCompressionNone。 如需詳細資訊,請參閱MBIM_COMPRESSION表。 |
| 68 | 4 | 驗證協議 | MBIM_AUTH_PROTOCOL | 用於 PDP 啟用的驗證類型。 如需詳細資訊,請參閱MBIM_AUTH_PROTOCOL表。 |
| 72 | 資料緩衝器 (DataBuffer) | 資料緩衝器 | 包含 AccessString、UserName 和 Password 的資料緩衝區。 |
通知
如需詳細資訊,請參閱MBIM_MS_PROVISIONED_CONTEXT_V2表。
狀態代碼
針對查詢和設定作業:
| 狀態代碼 | 說明 |
|---|---|
| MBIM_STATUS_READ_FAILURE (狀態讀取失敗) | 作業失敗,因為裝置無法擷取布建的上下文。 |
| MBIM狀態_不支持設備 | 作業失敗,因為裝置不支援作業。 |
僅適用於設定作業:
| 狀態代碼 | 說明 |
|---|---|
| MBIM_STATUS_INVALID_PARAMETERS(參數無效) | 作業因為參數無效而失敗。 |
| MBIM_STATUS_WRITE_FAILURE(寫入失敗) | 作業失敗,因為更新要求失敗。 |
使用預配置的內容初始化裝置
使用佈建內容初始化非 SIM 鎖定 GPRS 裝置
下圖代表 GSM 型 MB 裝置的最佳使用者體驗。 開箱即用的體驗不需要使用者設定。 假設裝置已設定為自動選取要註冊的網路。 粗體中的標籤代表 OID 識別碼或交易流程控制。 一般文字中的標籤代表 OID 結構內的重要旗標。
若要初始化非 SIM 卡鎖定的 GSM 型裝置,請實作下列步驟:
MB 服務會將異步(非封鎖)OID_WWAN_READY_INFO 查詢要求傳送至迷你埠驅動程式,以識別裝置的就緒狀態。 迷你埠驅動程式會以暫時性確認(NDIS_STATUS_INDICATION_REQUIRED)回應表示已收到該要求,並將在未來傳送包含要求資訊的通知。
迷你埠驅動程式會將 NDIS_STATUS_WWAN_READY_INFO 通知傳送至 MB 服務,以向 MB 服務指出 MB 裝置的狀態 WwanReadyStateInitialized。
MB 服務會將非同步 (非封鎖) OID_WWAN_REGISTER_STATE 查詢要求傳送至迷你埠驅動程式,以識別裝置的註冊狀態。 迷你埠驅動程式會以暫時性確認(NDIS_STATUS_INDICATION_REQUIRED)回應表示已收到該要求,並將在未來傳送包含要求資訊的通知。
迷你埠驅動程式會將 NDIS_STATUS_WWAN_REGISTER_STATE 通知傳送至 MB 服務,指出裝置的註冊模式是 WwanRegistraterModeAutomatic ,且其目前的註冊狀態是 WwanRegisterStateSearching。
稍後,當裝置註冊至網路提供者時,迷你埠驅動程式會將未經請求的NDIS_STATUS_WWAN_REGISTER_STATE通知傳送至 MB 服務,指出裝置目前的註冊狀態是 WwanRegisterStateHome。
裝置嘗試連線封包服務。 當封包服務狀態變更為已連結時,迷你埠驅動程式會將未經請求的 NDIS_STATUS_WWAN_PACKET_SERVICE 通知傳送至 MB 服務,指出封包服務已連結,且目前的數據類別已 WWAN_DATA_CLASS_GPRS。
MB 服務會將非同步 (非封鎖) OID_WWAN_HOME_PROVIDER 查詢要求傳送至迷你埠驅動程式,以擷取主提供者資訊。 迷你埠驅動程式會以已收到要求的臨時通知 (NDIS_STATUS_INDICATION_REQUIRED) 來回應,而且未來會傳送包含所要求資訊的通知。
迷你埠驅動程式會將 NDIS_STATUS_WWAN_HOME_PROVIDER 通知傳送至 MB 服務,指出主提供者詳細數據。
MB 服務會將非同步(非阻塞)OID_WWAN_PROVISIONED_CONTEXTS 查詢要求傳送至迷你埠驅動程式,以擷取布建的上下文清單。 迷你埠驅動程式會以暫時性確認(NDIS_STATUS_INDICATION_REQUIRED)回應表示已收到該要求,並將在未來傳送包含要求資訊的通知。
迷你埠驅動程式會將 NDIS_STATUS_WWAN_PROVISIONED_CONTEXTS 通知傳送至包含 WWAN_CONTEXT 結構清單的 MB 服務。
MB 服務會將非同步 (非封鎖) OID_WWAN_CONNECT 設定要求傳送至迷你埠驅動程式,以啟用封包數據通訊協定 (PDP) 內容。 迷你埠驅動程式會以暫時性確認(NDIS_STATUS_INDICATION_REQUIRED)回應表示已收到該要求,並將在未來傳送包含要求資訊的通知。
迷你埠驅動程式會將 NDIS_STATUS_WWAN_CONTEXT_STATE 通知傳送至 MB 服務,指出已啟用 PDP 內容。
迷你埠驅動程式會傳送 NDIS_STATUS_LINK_STATE 通知,指出媒體連線狀態為 MediaConnectStateConnected。
使用已配置的上下文初始化CDMA封包設備
下圖說明 CDMA 型裝置的最佳使用者體驗。 現成可用的體驗不需要使用者設定。 此案例假設尚未啟用 CDMA 型帳戶。 與基於 GSM 的設備不同,基於 CDMA 的設備在激活完成後會自動開始向網絡註冊。 粗體中的標籤是 OID 識別碼或交易流程控制。 一般文字中的標籤是 OID 結構中的重要旗標。
要初始化具有已配置內容的 CDMA 型封包裝置,請執行下列步驟:
MB 服務會將非同步 (非封鎖) OID_WWAN_READY_INFO 傳送至迷你埠驅動程式。 迷你埠驅動程式以臨時認可(NDIS_STATUS_INDICATION_REQUIRED)回應已收到要求,並表示未來會傳送包含所要求資訊的通知。
迷你埠驅動程式會將NDIS_STATUS_WWAN_FAILURE傳送至 MB 服務。
MB 服務會將非同步(非阻塞)OID_WWAN_SERVICE_ACTIVATION 傳送至迷你端口驅動程式。 迷你埠驅動程式以臨時認可(NDIS_STATUS_INDICATION_REQUIRED)回應已收到要求,並表示未來會傳送包含所要求資訊的通知。
迷你埠驅動程式會將NDIS_STATUS_WWAN_SUCCESS傳送至 MB 服務。
迷你埠驅動程式會將 NDIS_STATUS_WWAN_REGISTER_STATE 傳送至 MB 服務。
迷你埠驅動程式會將 NDIS_STATUS_WWAN_REGISTER_STATE 傳送至 MB 服務。
迷你埠驅動程式會將 NDIS_STATUS_WWAN_PACKET_SERVICE 傳送至 MB 服務。
MB 服務會將非同步(非阻塞) OID_WWAN_HOME_PROVIDER 傳送至微型埠驅動程式。 迷你埠驅動程式以臨時認可(NDIS_STATUS_INDICATION_REQUIRED)回應已收到要求,並表示未來會傳送包含所要求資訊的通知。
迷你埠驅動程式會將NDIS_STATUS_WWAN_SUCCESS傳送至 MB 服務。
MB 服務會將非同步(不阻塞)的 OID_WWAN_PROVISIONED_CONTEXTS 傳送至小型埠驅動程式。 迷你埠驅動程式會以暫時通知 (NDIS_STATUS_INDICATION_REQUIRED) 回應,指出它已收到要求,而且未來會傳送包含要求資訊的通知。
迷你埠驅動程式會將NDIS_STATUS_WWAN_SUCCESS傳送至 MB 服務。
MB 服務會將非同步 (非封鎖) OID_WWAN_PROVISIONED_CONTEXTS 傳送至迷你埠驅動程式。 迷你埠驅動程式會以暫時性確認(NDIS_STATUS_INDICATION_REQUIRED)回應表示已收到該要求,並將在未來傳送包含要求資訊的通知。
迷你埠驅動程式會將NDIS_STATUS_WWAN_SUCCESS傳送至 MB 服務。
迷你埠驅動程式會將 NDIS_STATUS_LINK_STATE 傳送至 MB 服務。