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 方法更新有关任何新查询的状态的应用程序。
在某些情况下,可以通过短信或 OTA (无线更新) 通过网络更新设备的首选提供商列表。 操作系统将通过调用 IMbnInterfaceEvents 的 OnPreferredProvidersChange 方法,通知应用程序首选提供程序列表中的任何更改。
要求
要求 | 值 |
---|---|
最低受支持的客户端 | Windows 7 [桌面应用 |UWP 应用] |
最低受支持的服务器 | 无受支持的版本 |
目标平台 | Windows |
标头 | mbnapi.h |