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


Метод IMbnInterface::GetPreferredProviders (mbnapi.h)

Важно!

Начиная с Windows 10 версии 1803, API Win32, описанные в этом разделе, заменяются среда выполнения Windows API в пространстве имен Windows.Networking.Connectivity.

Возвращает список предпочтительных поставщиков.

Синтаксис

HRESULT GetPreferredProviders(
  [out, retval] SAFEARRAY **preferredProviders
);

Параметры

[out, retval] preferredProviders

Указатель на массив MBN_PROVIDER структур, содержащий список предпочтительных поставщиков. Если этот метод возвращает любое значение, отличное от S_OK, этот параметр имеет значение NULL. Когда GetPreferredProviders возвращает S_OK, вызывающее приложение должно освободить выделенную память, вызвав SafeArrayDeки.

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

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

Код возврата Описание
S_OK
Метод завершился успешно. preferredProviders содержит допустимые значения.
E_PENDING
Сведения недоступны. Служба мобильной широкополосной связи в настоящее время проверит список предпочтительных поставщиков. Вызывающее приложение может получать уведомления о доступности данных, зарегистрировав метод OnPreferredProvidersChangeобъекта IMbnInterfaceEvents.
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 всегда будут возвращать это значение.

Комментарии

GetPreferredProviders возвращает список поставщиков, хранящихся в списке предпочтительных поставщиков интерфейса.

Для доступных для восстановления ошибок E_MBN_PIN_REQUIRED, E_MBN_SIM_NOT_INSERTED и E_MBN_BAD_SIM служба мобильной широкополосной связи снова запросит у устройства список поставщиков по завершении ошибки. Например, если устройству требуется ввести ПИН-код для получения списка поставщиков, getPreferredProviders вернет E_MBN_PIN_REQUIRED. Когда приложение вводит ПИН-код для разблокировки устройства, служба мобильной широкополосной связи снова попытается получить эти сведения с устройства.

Когда операционная система запрашивает устройство для получения списка поставщиков после возникновения ошибки, доступной для восстановления, GetPreferredProviders немедленно возвращает E_PENDING. После завершения нового запроса в вызывающее приложение отправляется уведомление с помощью соответствующего метода обратного вызова. Например, после успешной операции разблокировки ПИН-кода вызывается метод OnEnterCompleteобъекта IMbnPinEvents . После восстановления после ошибки карта SIM-карты будет вызван метод OnReadyStateChangeобъекта IMbnInterfaceEvents.

Служба мобильной широкополосной связи обновит приложение о состоянии любого нового запроса, вызвав метод OnPreferredProvidersChangeобъекта IMbnInterfaceEvents.

В некоторых случаях список предпочтительных поставщиков устройства можно обновить через сеть с помощью SMS или OTA (обновления по беспроводной сети). Операционная система уведомит приложение о любых изменениях в списке предпочтительных поставщиков, вызвав метод OnPreferredProvidersChangeобъекта IMbnInterfaceEvents.

Требования

Требование Значение
Минимальная версия клиента Windows 7 [классические приложения | Приложения UWP]
Минимальная версия сервера Ни одна версия не поддерживается
Целевая платформа Windows
Header mbnapi.h

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

IMbnInterface