Compartir a través de


Método IMbnInterface::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 preferidos.

Sintaxis

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

Parámetros

[out, retval] preferredProviders

Puntero a una matriz de estructuras de MBN_PROVIDER que contiene la lista de proveedores preferidos. Si este método devuelve cualquier valor distinto de S_OK, este parámetro 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. preferredProviders 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 IMbnInterfaceEvents.
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.

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 el sistema operativo 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 . Después de recuperarse de un error de tarjeta SIM, se llamaría al método OnReadyStateChange de IMbnInterfaceEvents .

El servicio de banda ancha móvil actualizará la aplicación sobre el estado de cualquier consulta nueva mediante una llamada al método OnPreferredProvidersChange de IMbnInterfaceEvents.

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). El sistema operativo notificará a la aplicación cualquier cambio en la lista de proveedores preferidos llamando al método OnPreferredProvidersChange de IMbnInterfaceEvents.

Requisitos

Requisito Value
Cliente mínimo compatible Windows 7 [aplicaciones de escritorio | Aplicaciones para UWP]
Servidor mínimo compatible No se admite ninguno
Plataforma de destino Windows
Encabezado mbnapi.h

Consulte también

IMbnInterface