Метод IMbnMultiCarrier::GetPreferredProviders (mbnapi.h)
Важно!
Начиная с Windows 10 версии 1803, API Win32, описанные в этом разделе, заменяются среда выполнения Windows API в пространстве имен Windows.Networking.Connectivity.
Возвращает список подписанных поставщиков, видимых в текущей области для устройства с несколькими операторами за вычетом текущего зарегистрированного поставщика.
Синтаксис
HRESULT GetPreferredProviders(
[out, retval] SAFEARRAY **preferredMulticarrierProviders
);
Параметры
[out, retval] preferredMulticarrierProviders
Указатель на массив MBN_PROVIDER2 структур, содержащих список предпочтительных поставщиков. Если этот метод возвращает любое значение, отличное от S_OK, предпочтительное значениеMultiCarrierProviders равно NULL. Когда GetPreferredProviders возвращает S_OK, вызывающее приложение должно освободить выделенную память, вызвав SafeArrayDeки.
Возвращаемое значение
Этот метод может возвращать одно из этих значений.
Код возврата | Описание |
---|---|
|
Метод завершился успешно. preferredMultiCarrierProviders содержит допустимые значения. |
|
Сведения недоступны. Служба мобильной широкополосной связи в настоящее время проверит список предпочтительных поставщиков. Вызывающее приложение может получать уведомления о доступности данных, зарегистрировав метод OnPreferredProvidersChangeобъекта IMbnMultiCarrierEvents. |
|
Для этой операции на устройстве необходимо ввести ПИН-код. |
|
SIM-карта не вставляется. |
|
В устройство вставляется неправильная SIM-карта. |
|
Не удается выполнить чтение из SIM-карты или памяти устройства. Например, для SIM-карты не подготовлены сведения о предпочтительном поставщике. |
|
Устройство не поддерживает эту операцию. Устройства CDMA всегда будут возвращать это значение. |
|
Операция не поддерживается устройством. Это может быть возвращено устройствами, которые не поддерживают несколько операторов. |
Комментарии
GetPreferredProviders возвращает список поставщиков, хранящихся в списке предпочтительных поставщиков интерфейса.
Для доступных для восстановления ошибок E_MBN_PIN_REQUIRED, E_MBN_SIM_NOT_INSERTED и E_MBN_BAD_SIM служба мобильной широкополосной связи снова запросит у устройства список поставщиков по завершении ошибки. Например, если устройству требуется ввести ПИН-код для получения списка поставщиков, getPreferredProviders вернет E_MBN_PIN_REQUIRED. Когда приложение вводит ПИН-код для разблокировки устройства, служба мобильной широкополосной связи снова попытается получить эти сведения с устройства.
Когда Windows запрашивает устройство для получения списка поставщиков после возникновения ошибки, доступной для восстановления, GetPreferredProviders немедленно возвращает E_PENDING. После завершения нового запроса в вызывающее приложение отправляется уведомление с помощью соответствующего метода обратного вызова. Например, после успешной операции разблокировки ПИН-кода вызывается метод OnEnterCompleteобъекта IMbnPinEvents .
Служба мобильной широкополосной связи обновит приложение о состоянии любого нового запроса, вызвав метод OnPreferredProvidersChangeобъекта IMbnMultiCarrier.
В некоторых случаях список предпочтительных поставщиков устройства можно обновить через сеть с помощью SMS или OTA (обновления по беспроводной сети). Windows уведомит приложение о любых изменениях в списке предпочтительных поставщиков, вызвав метод OnPreferredProvidersChangeобъекта IMbnMultiCarrier.
Список предпочтительных поставщиков доступен, если у пользователя есть несколько подписок (по крайней мере несколько) или устройство предварительно подготовлено для предпочтительных сетей и находится в зоне покрытия любой из сетей. Этот список может быть пустым, даже если пользователь подписался на несколько сетей и находится за пределами этих областей покрытия. Этот список будет содержать все видимые в настоящее время сети, на которые подписан пользователь или для которого устройство предварительно подготовлено, за исключением текущей зарегистрированной сети.
Подготовка также может привести к добавлению нового домашнего поставщика в существующий список предпочтительных устройств с несколькими операторами. Для этого используется SetHomeProvider.
Требования
Минимальная версия клиента | Windows 8 [только классические приложения] |
Минимальная версия сервера | Ни одна версия не поддерживается |
Целевая платформа | Windows |
Header | mbnapi.h |