Condividi tramite


Metodo IMbnMultiCarrier::GetPreferredProviders (mbnapi.h)

Importante

A partire da Windows 10 versione 1803, le API Win32 descritte in questa sezione vengono sostituite dalle API Windows Runtime nello spazio dei nomi Windows.Networking.Connectivity.

Ottiene l'elenco dei provider sottoscritti visibili nell'area corrente per un dispositivo multi-carrier meno il provider registrato corrente.

Sintassi

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

Parametri

[out, retval] preferredMulticarrierProviders

Puntatore a una matrice di strutture MBN_PROVIDER2 che contengono l'elenco di provider preferiti. Se questo metodo restituisce qualsiasi valore diverso da S_OK, preferredMultiCarrierProviders è NULL. Quando GetPreferredProviders restituisce S_OK, l'applicazione chiamante deve liberare la memoria allocata chiamando SafeArrayDestroy.

Valore restituito

Questo metodo può restituire uno di questi valori.

Codice restituito Descrizione
S_OK
Metodo completato correttamente. preferredMultiCarrierProviders contiene valori validi.
E_PENDING
Le informazioni non sono disponibili. Il servizio Mobile Broadband sta attualmente verificando l'elenco dei provider preferiti. L'applicazione chiamante può ricevere una notifica quando i dati sono disponibili registrando per il metodo OnPreferredProvidersChange di IMbnMultiCarrierEvents.
E_MBN_PIN_REQUIRED
Il dispositivo richiede che sia necessario immettere un PIN per questa operazione.
E_MBN_SIM_NOT_INSERTED
La SIM non viene inserita.
E_MBN_BAD_SIM
Una SIM non valida viene inserita nel dispositivo.
HRESULT_FROM_WIN32(ERROR_READ_FAULT)
Impossibile leggere dalla sim o dalla memoria del dispositivo. Ad esempio, la SIM non dispone di informazioni sul provider preferite di cui è stato effettuato il provisioning.
HRESULT_FROM_WIN32(ERROR_NOT_SUPPORTED)
Il dispositivo non supporta questa operazione. I dispositivi CDMA restituiscono sempre questo valore.
HRESULT_FROM_WIN32(ERROR_NOT_SUPPORTED)
L'operazione non è supportata dal dispositivo. Questo può essere restituito dai dispositivi che non supportano più operatori.

Commenti

GetPreferredProviders restituisce l'elenco di provider archiviati nell'elenco dei provider preferito dell'interfaccia.

Per gli errori recuperabili E_MBN_PIN_REQUIRED, E_MBN_SIM_NOT_INSERTED e E_MBN_BAD_SIM, il servizio Mobile Broadband eseguirà nuovamente una query sul dispositivo per l'elenco dei provider quando la condizione di errore è finita. Ad esempio, se il dispositivo richiede che venga immesso un PIN per ottenere l'elenco del provider, GetPreferredProviders restituirà E_MBN_PIN_REQUIRED. Quando un'applicazione immette un PIN per sbloccare il dispositivo, il servizio Mobile Broadband tenterà nuovamente di ottenere queste informazioni dal dispositivo.

Quando Windows esegue una query sul dispositivo per ottenere l'elenco di provider dopo che si è verificato un errore ripristinabile, GetPreferredProviders restituisce immediatamente E_PENDING. Al termine della nuova query, viene inviata una notifica all'applicazione chiamante usando il metodo di callback appropriato. Ad esempio, dopo un'operazione di sblocco pin riuscita, verrà chiamato il metodo OnEnterComplete di IMbnPinEvents .

Il servizio Mobile Broadband aggiornerà l'applicazione sullo stato di qualsiasi nuova query chiamando il metodo OnPreferredProvidersChange di IMbnMultiCarrier.

In alcuni casi, l'elenco di provider preferito del dispositivo può essere aggiornato tramite la rete tramite SMS o OTA (aggiornamento over-the-air). Windows notificherà l'applicazione di qualsiasi modifica nell'elenco di provider preferito chiamando il metodo OnPreferredProvidersChange di IMbnMultiCarrier.

Un elenco preferito di provider è disponibile se l'utente ha più sottoscrizioni (almeno più di una) o il dispositivo ha effettuato il provisioning preliminare per le reti preferite e si trova nell'area di copertura di una delle reti. Questo elenco può essere vuoto anche se l'utente ha sottoscritto più reti ed è esterno a tali aree di copertura. Questo elenco conterrà tutte le reti attualmente visibili che l'utente ha sottoscritto o il dispositivo ha effettuato il pre-provisioning, ad eccezione della rete attualmente registrata.

Il provisioning può anche comportare l'aggiunta di un nuovo provider home all'elenco preferito esistente in un dispositivo multi-carrier. Questa operazione viene eseguita usando SetHomeProvider.

Requisiti

   
Client minimo supportato Windows 8 [solo app desktop]
Server minimo supportato Nessuno supportato
Piattaforma di destinazione Windows
Intestazione mbnapi.h

Vedi anche

IMbnMultiCarrier