IMbnInterface::GetPreferredProviders 方法 (mbnapi.h)
重要
從 Windows 10 1803 版開始,本節所述的 Win32 API 會由 Windows.Networking.Connectivity 命名空間中的 Windows 執行階段 API 取代。
取得慣用提供者的清單。
語法
HRESULT GetPreferredProviders(
[out, retval] SAFEARRAY **preferredProviders
);
參數
[out, retval] preferredProviders
包含慣用提供者清單之 MBN_PROVIDER 結構的陣列指標。 如果這個方法傳回 S_OK以外的任何值,則此參數為 NULL。 當 GetPreferredProviders 傳回 S_OK時,呼叫端應用程式必須呼叫 SafeArrayDestroy 來釋放配置的記憶體。
傳回值
這個方法可以傳回其中一個值。
傳回碼 | 描述 |
---|---|
|
已成功完成命令。 preferredProviders 包含有效值。 |
|
信息無法使用。 行動寬頻服務目前正在探查慣用的提供者清單。 呼叫端應用程式可以藉由註冊 IMbnInterfaceEvents 的 OnPreferredProvidersChange 方法,在數據可用時收到通知。 |
|
裝置需要輸入 PIN 才能進行這項作業。 |
|
不會插入 SIM 卡。 |
|
在裝置中插入不正確的 SIM 卡。 |
|
無法從 SIM 卡或裝置記憶體讀取。 例如,SIM 沒有布建慣用的提供者資訊。 |
|
裝置不支援這項作業。 CDMA 裝置一律會傳回此值。 |
備註
GetPreferredProviders 會傳回儲存在介面慣用提供者清單中的提供者清單。
針對可復原的錯誤 E_MBN_PIN_REQUIRED、 E_MBN_SIM_NOT_INSERTED和 E_MBN_BAD_SIM,行動寬頻服務會在錯誤狀況超過時,再次查詢提供者清單的裝置。 例如,如果裝置需要輸入 PIN 才能取得提供者清單, 則 GetPreferredProviders 會傳回 E_MBN_PIN_REQUIRED。 當應用程式輸入 PIN 以解除鎖定裝置時,行動寬頻服務會再次嘗試從裝置取得此資訊。
當操作系統在發生可復原錯誤之後查詢裝置以取得提供者清單時, GetPreferredProviders 會立即傳回 E_PENDING。 新的查詢完成後,會使用適當的回呼方法,將通知傳送至呼叫端應用程式。 例如,成功 PIN 解除鎖定作業之後,會呼叫 IMbnPinEvents 的 OnEnterComplete 方法。 從 SIM 卡錯誤復原之後,會呼叫 IMbnInterfaceEvents 的 OnReadyStateChange 方法。
行動寬頻服務會藉由呼叫 IMbnInterfaceEvents 的 OnPreferredProvidersChange 方法,更新應用程式有關任何新查詢的狀態。
在某些情況下,裝置的慣用提供者清單可以透過SMS或OTA網路更新, (無線更新) 。 操作系統會呼叫 IMbnInterfaceEvents 的 OnPreferredProvidersChange 方法,通知應用程式慣用提供者清單中的任何變更。
規格需求
需求 | 值 |
---|---|
最低支援的用戶端 | Windows 7 [傳統型應用程式 |UWP 應用程式] |
最低支援的伺服器 | 都不支援 |
目標平台 | Windows |
標頭 | mbnapi.h |