Compartir a través de


Método IMbnMultiCarrier::GetPreferredProviders (mbnapi.h)

Importante

A partir de Windows 10, versión 1803, las API de Win32 descritas en esta sección se reemplazan por las API de Windows Runtime en el espacio de nombres Windows.Networking.Connectivity.

Obtiene la lista de proveedores suscritos visibles en el área actual de un dispositivo de varios operadores menos el proveedor registrado actual.

Sintaxis

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

Parámetros

[out, retval] preferredMulticarrierProviders

Puntero a una matriz de estructuras de MBN_PROVIDER2 que contienen la lista de proveedores preferidos. Si este método devuelve cualquier valor distinto de S_OK, preferredMultiCarrierProviders es NULL. Cuando GetPreferredProviders devuelve S_OK, la aplicación que realiza la llamada debe liberar la memoria asignada llamando a SafeArrayDestroy.

Valor devuelto

Este método puede devolver uno de estos valores.

Código devuelto Descripción
S_OK
El método se completó correctamente. preferredMultiCarrierProviders contiene valores válidos .
E_PENDING
La información no está disponible. Actualmente, el servicio de banda ancha móvil está sondeando la lista de proveedores preferidos. La aplicación que realiza la llamada puede recibir notificaciones cuando los datos están disponibles registrando para el método OnPreferredProvidersChange de IMbnMultiCarrierEvents.
E_MBN_PIN_REQUIRED
El dispositivo requiere que se escriba un PIN para esta operación.
E_MBN_SIM_NOT_INSERTED
No se inserta la SIM.
E_MBN_BAD_SIM
Se inserta una SIM incorrecta en el dispositivo.
HRESULT_FROM_WIN32(ERROR_READ_FAULT)
No se puede leer desde la memoria sim o del dispositivo. Por ejemplo, la SIM no tiene la información de proveedor preferida aprovisionada.
HRESULT_FROM_WIN32(ERROR_NOT_SUPPORTED)
El dispositivo no admite esta operación. Los dispositivos FRAMEWORK siempre devolverán este valor.
HRESULT_FROM_WIN32(ERROR_NOT_SUPPORTED)
El dispositivo no admite la operación. Los dispositivos que no admiten varios operadores pueden devolverlo.

Comentarios

GetPreferredProviders devuelve la lista de proveedores almacenados en la lista de proveedores preferidos de la interfaz.

Para los errores recuperables E_MBN_PIN_REQUIRED, E_MBN_SIM_NOT_INSERTED y E_MBN_BAD_SIM, el servicio de banda ancha móvil consultará el dispositivo de nuevo para la lista de proveedores cuando finalice la condición de error. Por ejemplo, si el dispositivo requiere que se escriba un PIN para obtener la lista de proveedores, GetPreferredProviders devolverá E_MBN_PIN_REQUIRED. Cuando una aplicación entra en un PIN para desbloquear el dispositivo, el servicio de banda ancha móvil volverá a intentar obtener esta información del dispositivo.

Cuando Windows consulta el dispositivo para obtener la lista de proveedores después de que se haya producido un error recuperable, GetPreferredProviders devuelve inmediatamente E_PENDING. Una vez completada la nueva consulta, se envía una notificación a la aplicación que realiza la llamada mediante el método de devolución de llamada adecuado. Por ejemplo, después de una operación de desbloqueo de PIN correcta, se llamaría al método OnEnterComplete de IMbnPinEvents .

El servicio Mobile Broadband actualizará la aplicación sobre el estado de cualquier consulta nueva mediante una llamada al método OnPreferredProvidersChange de IMbnMultiCarrier.

En algunos casos, la lista de proveedores preferidos del dispositivo se puede actualizar a través de la red mediante SMS o OTA (actualización inalámbrica). Windows notificará a la aplicación cualquier cambio en la lista de proveedores preferidos llamando al método OnPreferredProvidersChange de IMbnMultiCarrier.

Hay disponible una lista preferida de proveedores si el usuario tiene varias suscripciones (al menos más de una) o el dispositivo tiene aprovisionado previamente para las redes preferidas y se encuentra en el área de cobertura de cualquiera de las redes. Esta lista puede estar vacía incluso si el usuario se ha suscrito a varias redes y está fuera de esas áreas de cobertura. Esta lista contendrá todas las redes actualmente visibles a las que el usuario se ha suscrito o que el dispositivo ha aprovisionado previamente, excepto para la red registrada actualmente.

El aprovisionamiento también puede dar lugar a que se agregue un nuevo proveedor principal a la lista preferida existente en un dispositivo de varios operadores. Esto se logra mediante SetHomeProvider.

Requisitos

   
Cliente mínimo compatible Windows 8 [solo aplicaciones de escritorio]
Servidor mínimo compatible No se admite ninguno
Plataforma de destino Windows
Encabezado mbnapi.h

Consulte también

IMbnMultiCarrier