Поделиться через


Метод 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ки.

Возвращаемое значение

Этот метод может возвращать одно из этих значений.

Код возврата Описание
S_OK
Метод завершился успешно. preferredMultiCarrierProviders содержит допустимые значения.
E_PENDING
Сведения недоступны. Служба мобильной широкополосной связи в настоящее время проверит список предпочтительных поставщиков. Вызывающее приложение может получать уведомления о доступности данных, зарегистрировав метод OnPreferredProvidersChangeобъекта IMbnMultiCarrierEvents.
E_MBN_PIN_REQUIRED
Для этой операции на устройстве необходимо ввести ПИН-код.
E_MBN_SIM_NOT_INSERTED
SIM-карта не вставляется.
E_MBN_BAD_SIM
В устройство вставляется неправильная SIM-карта.
HRESULT_FROM_WIN32(ERROR_READ_FAULT)
Не удается выполнить чтение из SIM-карты или памяти устройства. Например, для SIM-карты не подготовлены сведения о предпочтительном поставщике.
HRESULT_FROM_WIN32(ERROR_NOT_SUPPORTED)
Устройство не поддерживает эту операцию. Устройства CDMA всегда будут возвращать это значение.
HRESULT_FROM_WIN32(ERROR_NOT_SUPPORTED)
Операция не поддерживается устройством. Это может быть возвращено устройствами, которые не поддерживают несколько операторов.

Комментарии

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

См. также раздел

IMbnMultiCarrier