Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
La rete ospitata wireless è una nuova funzionalità WLAN supportata in Windows 7 e Windows 8. È supportato anche in Windows Server 2012 e Windows Server 2008 R2 con il servizio LAN wireless installato. Questa funzionalità implementa due funzioni principali:
- La virtualizzazione di una scheda wireless fisica in più schede wireless virtuali talvolta definite Wi-Fi virtuali.
- Un punto di accesso wireless basato su software (AP) talvolta definito SoftAP che usa una scheda wireless virtuale designata.
Internet Connection Sharing (ICS) è una funzionalità di Windows fornita tramite il servizio SharedAccess. In senso stretto, SharedAccess consente la condivisione di rete tramite un computer in cui l'accesso alla rete condivisa non fornisce necessariamente l'accesso a Internet. In questa sezione viene usato il termine ICS e SharedAccess in modo intercambiabile, poiché la condivisione della connessione Internet è uno scenario principale per la rete ospitata wireless e il termine ICS è meglio noto alla community degli utenti.
La rete wireless ospitata è strettamente legata a ICS per abilitare sia la rete di area personale wireless (PAN) che gli scenari di condivisione Internet. Questa sezione fornisce consigli generali agli sviluppatori di applicazioni su come integrare la rete ospitata wireless e ICS utilizzando le API pubbliche della rete ospitata wireless e le API ICS.
Condivisione connessione Internet
Il servizio ICS opera in una delle due modalità possibili:
Modalità autonoma
Solo la funzione server DHCPv4 funziona quando viene richiamato il servizio ICS. Si tratta di una modalità operativa speciale per ICS e viene resa disponibile solo tramite la rete ospitata wireless. Un utente o un'applicazione non è in grado di avviare e arrestare direttamente ICS autonomi tramite API ICS pubbliche o comandi netsh. L'avvio della rete ospitata wireless comporta in genere l'avvio di ICS in modalità autonoma per usare la funzione server DHCPv4 per fornire indirizzi IPv4 privati per i dispositivi connessi. La comunicazione di rete per i dispositivi connessi è limitata all'invio e alla ricezione di pacchetti di rete tra un dispositivo connesso e il computer locale che ospita la rete ospitata wireless e tra i dispositivi connessi stessi. Ciò consente efficacemente lo scenario di rete personale wireless per la rete wireless ospitata.
Modalità completa
Tutte le funzionalità di ICS funzionano quando viene richiamato il servizio, ad esempio la conversione degli indirizzi di rete e le funzioni del server DHCP per IPv4 e IPv6. Questa è la modalità normale di funzionamento per ICS. Un utente o un'applicazione può avviare e arrestare la modalità ICS completa tramite API pubbliche o comandi netshell. Ad esempio, questo servizio può essere arrestato usando net stop sharedaccess da un prompt dei comandi con privilegi elevati. Combinando la rete ospitata wireless con la Condivisione connessione a Internet (ICS) completa, la comunicazione di rete per i dispositivi connessi non è limitata alla rete personale wireless. Qualsiasi dispositivo connesso ha accesso alla rete (ad esempio Internet) tramite la connessione di rete condivisa dal computer che esegue la rete ospitata wireless. Questo abilita efficacemente lo scenario di condivisione di rete per la Rete Ospitata Wireless.
In questa sezione viene usato il termine ICS completo per indicare il caso in cui tutte le funzioni ICS vengono richiamate nel servizio ICS per fornire l'accesso a tutte le funzionalità ICS complete con la rete ospitata wireless.
Le due modalità operative ICS si escludono a vicenda, con la modalità completa che ha la precedenza. Il servizio ICS può passare dalla modalità autonoma alla modalità completa, ma non dalla modalità completa alla modalità autonoma. La modalità autonoma ICS è stata introdotta in Windows 7 e in Windows Server 2008 R2 con il servizio LAN wireless installato insieme alla funzionalità Rete ospitata wireless. Non è disponibile nelle versioni precedenti di Windows.
Qualsiasi operazione ICS completa comporta due schede di rete diverse nel sistema:
- Interfaccia pubblica. Questa è l'interfaccia di rete con accesso a Internet. Si tratta di questa interfaccia usata dal computer locale che esegue ICS per condividere Internet con client e dispositivi che si connettono a esso tramite SoftAP.
- Interfaccia privata. Si tratta dell'interfaccia di rete usata da altri dispositivi per connettersi al computer locale che esegue ICS. Un server DHCPv4 è in esecuzione in questa interfaccia privata per fornire indirizzi IP locali privati agli altri computer remoti.
Quando l'interfaccia pubblica non ha accesso a Internet, il server DHCP nell'interfaccia privata continua a fornire indirizzi IP locali ai dispositivi connessi. ICS autonomo implica solo l'interfaccia privata in cui è in esecuzione SoftAP; non comporta alcuna interfaccia pubblica.
In qualsiasi momento, è presente al massimo un'istanza di ICS completa in esecuzione nel computer locale. Se il servizio ICS completo è già in esecuzione nel computer locale, l'avvio di un altro ICS completo presenta i comportamenti funzionali seguenti:
- Se le interfacce pubbliche e private del nuovo ICS completo sono uguali a quelle dell'ICS completo esistente, avviare il secondo ICS completo equivale a un no-op.
- Se la nuova interfaccia pubblica è diversa dalla vecchia interfaccia pubblica, ma la nuova interfaccia privata è la stessa dell'interfaccia privata precedente, l'avvio di un secondo ICS completo ha un impatto minimo sui dispositivi connessi sulla stessa interfaccia privata. La possibilità di accedere a Internet può cambiare con la nuova interfaccia pubblica.
- Se la nuova interfaccia privata è diversa dalla precedente interfaccia privata, le funzioni ICS smetteranno di lavorare sull'interfaccia privata precedente e inizieranno ad applicare alla nuova interfaccia privata. Qualsiasi dispositivo remoto che si connette al computer locale usando l'interfaccia privata precedente perderà la connettività IP al computer locale.
Quando l'ICS completo è già in esecuzione, richiamare un secondo ICS completo è un'interruzione per i dispositivi connessi in remoto usando l'interfaccia privata precedente, purché la seconda integrazione ICS usi una nuova interfaccia privata diversa.
Per gestire e usare il servizio ICS per supportare l'integrazione ICS con la rete ospitata wireless, un'applicazione software deve prima ottenere un'interfaccia INetSharingManager. L'interfaccia INetSharingManager fornisce l'accesso diretto o indiretto a tutte le altre interfacce COM nell'API ICS. Il metodo get_SharingInstalled nell'interfaccia INetSharingManager indica se il computer locale supporta la condivisione delle connessioni. Il metodo get_EnumEveryConnection nell'interfaccia INetSharingManager recupera un'interfaccia di enumerazione per tutte le connessioni nella cartella connections. Il metodo get_INetSharingConfigurationForINetConnection recupera un'interfacciaINetSharingConfigurationper la connessione specificata. I metodi nell'interfaccia INetSharingConfiguration possono essere usati per eseguire query e modificare le impostazioni ICS.
La rete ospitata wireless deve essere avviata prima di chiamare il metodo get_EnumEveryConnection sull'interfacciaINetSharingManagerper enumerare tutte le connessioni nella cartella connessioni.
Per informazioni su ICS e sulle interfacce e i metodi pubblici che possono essere usati per eseguire query e modificare le impostazioni ICS, vedere la documentazione su About Internet Connection Sharing and Internet Connection Firewall.For information on ICS and the public interfaces and methods that can be used to query and change ICS settings, please see the documentation on About Internet Connection Sharing and Internet Connection Firewall.
Integrazione di rete ospitata e ICS
Quando il servizio ICS completo non è in esecuzione, l'avvio di una rete ospitata wireless avvia internamente anche il servizio ICS in modalità autonoma con solo la funzione del server DHCPv4 per allocare gli indirizzi IP per i dispositivi connessi nell'interfaccia di rete ospitata wireless. L'intervallo di indirizzi della subnet per il server DHCPv4 autonomo è 192.168.173.0/24. Questo comportamento è diverso dall'intervallo di subnet 192.168.137.0/24 utilizzato con ICS completo.
L'avvio di una rete ospitata wireless con ICS completo usa la logica seguente:
- Se il servizio ICS completo non è già in esecuzione, l'avvio di una rete ospitata wireless avvia anche il servizio ICS con il server DHCPv4 autonomo.
- Se il servizio ICS completo è già in esecuzione e l'interfaccia privata è l'interfaccia di rete ospitata wireless, è sufficiente avviare la rete ospitata wireless.
- Se ICS è già completamente in esecuzione ma l'interfaccia privata non è l'interfaccia della rete ospitata wireless, la rete ospitata wireless verrà avviata senza la funzionalità del server DHCPv4 su tale interfaccia.
L'impatto della logica precedente evidenzia i fatti seguenti:
- ICS non passa dalla modalità completa alla modalità autonoma.
- La modalità autonoma può essere richiamata solo dalla rete ospitata wireless quando ICS non è in esecuzione in modalità completa.
- Se ICS è in esecuzione in modalità autonoma, verrà sostituita dalla modalità completa se un utente o un'applicazione avvia ICS in modalità completa.
- La transizione dalla modalità autonoma alla modalità completa in ICS comporterà un'interruzione dei dispositivi connessi nel PAN wireless se l'interfaccia privata di ICS completo non è uguale a quella per SoftAP.
L'avvio o l'arresto del servizio ICS nel computer locale in modalità completa o autonoma richiede tempo. Un'applicazione deve controllare lo stato del servizio ICS usando la funzione NotifyServiceStatusChange per assicurarsi che il servizio ICS non sia nello stato di avvio/arresto in sospeso prima di avviare o arrestare la rete ospitata wireless per l'uso con l'integrazione ICS.
Avvio e arresto della rete wireless ospitata
Windows offre una piattaforma in cui più applicazioni simultanee possono gestire contemporaneamente una rete ospitata wireless. In particolare, ogni applicazione può avviare e arrestare la rete ospitata wireless autonomamente, senza conoscere in precedenza altre applicazioni.
Sono disponibili due set di funzioni per avviare e arrestare una rete ospitata.
Più applicazioni possono richiedere l'uso della rete ospitata wireless. Le funzioni WlanHostedNetworkStartUsing e WlanHostedNetworkStopUsing avviano e arrestano una rete ospitata wireless in modo compatibile con altre applicazioni in esecuzione contemporanea. Le funzioni WlanHostedNetworkStartUsing e WlanHostedNetworkStopUsing consentono a un'applicazione di fare riferimento alla rete ospitata wireless. Questo meccanismo mantiene la rete ospitata wireless in esecuzione purché almeno un'altra applicazione abbia un riferimento corrente alla rete ospitata wireless. Qualsiasi utente può chiamare queste funzioni. Le chiamate riuscite a WlanHostedNetworkStartUsing devono essere abbinate a chiamate alla funzione WlanHostedNetworkStopUsing. Qualsiasi modifica dello stato della rete ospitata causata dalla funzione WlanHostedNetworkStartUsing viene annullata automaticamente se l'applicazione chiamante chiude l'handle chiamante (chiamando WlanCloseHandle con lo stesso parametro hClientHandle passato a WlanHostedNetworkStartUsing) o se il processo termina.
Le funzioni WlanHostedNetworkForceStart e WlanHostedNetworkForceStop forzano l'avvio e l'arresto di una rete ospitata wireless. Queste funzioni possono essere chiamate solo se l'utente dispone del privilegio elevato adeguato. Le chiamate riuscite a WlanHostedNetworkForceStart potrebbero essere abbinate da una chiamata alla funzione WlanHostedNetworkForceStop, a seconda della progettazione dell'applicazione. Queste funzioni fanno passare lo stato della rete ospitata wireless senza associare la richiesta all'handle dell'applicazione chiamante. Qualsiasi modifica dello stato della rete ospitata causata dalla funzione WlanHostedNetworkForceStart non verrà annullata automaticamente se l'applicazione chiamante chiude l'handle chiamante (chiamando WlanCloseHandle con lo stesso parametro hClientHandle passato a WlanHostedNetworkStartUsing) o se il processo termina. Se l'applicazione che ha chiamato la funzione WlanHostedNetworkForceStart si chiude senza chiamare una delle funzioni per arrestare la rete Hosted wireless, la rete Hosted viene lasciata attiva. Un'applicazione potrebbe chiamare la funzione WlanHostedNetworkForceStart dopo aver verificato che un utente di sistema con privilegi elevati accetti i requisiti di alimentazione più elevati coinvolti nell'esecuzione della rete ospitata wireless per lunghi periodi di tempo.
Le raccomandazioni generali sulle funzioni da chiamare per avviare e arrestare una rete ospitata wireless sono le seguenti:
- Usano le funzioni WlanHostedNetworkStartUsing e WlanHostedNetworkStopUsing all'interno di un'applicazione per avviare e arrestare una rete wireless ospitata.
- Non usare la funzione di WlanHostedNetworkForceStart per avviare una rete ospitata wireless, a meno che non sia assolutamente richiesta dall'applicazione. La funzione WlanHostedNetworkForceStart richiede anche privilegi elevati.
- Utilizzare solo la funzione WlanHostedNetworkForceStop come metodo di ripristino. La funzione WlanHostedNetworkForceStop causa l'arresto immediato di una rete ospitata wireless. Altre applicazioni in ascolto delle notifiche di rete ospitata wireless potrebbero dover eseguire azioni di ripristino. Per altre informazioni, vedere la discussione seguente sulla sequenza di ripristino per la rete wireless ospitata.
Sequenza di avvio per la rete wireless ospitata
Per un'applicazione che avvia una rete wireless ospitata con ICS completo, è consigliabile avviare la rete ospitata wireless, quindi avviare l'ICS completo. Se una rete ospitata wireless è già in esecuzione, un'applicazione deve usare la funzione WlanHostedNetworkForceStop per arrestare la rete ospitata wireless solo se è necessario il servizio ICS completo ma non è stato abilitato prima dell'avvio della rete ospitata. Ciò consentirà ad altre applicazioni di eseguire il ripristino da potenziali interruzioni causate dall'avvio di ICS completo. Per altre informazioni, vedere la discussione seguente sulla sequenza di ripristino per la rete wireless ospitata. L'operazione combinata dovrebbe riuscire o fallire nel suo complesso.
Nota
La Rete ospitante wireless deve essere avviata prima di tentare di enumerare la scheda corrispondente utilizzando l'interfaccia IEnumNetSharingEveryConnection.
I passaggi ordinati seguenti sono la sequenza di avvio consigliata in un'applicazione che usa la rete ospitata wireless con ICS completo:
- Chiamare la funzione WlanHostedNetworkInitSettings per garantire che la rete ospitata wireless sia configurata e pronta per l'uso.
- Chiamare ilWlanHostedNetworkQueryStatuse funzioni WlanHostedNetworkQueryProper ty per determinare se la rete ospitata wireless è consentita e disponibile. Se la rete ospitata wireless non è consentita e non è disponibile, restituisce un errore.
- Verificare se l'uso del servizio ICS per il completo ICS è consentito. Se non è possibile avviare il servizio ICS, restituire un errore.
- Chiamare la funzione WlanHostedNetworkForceStop per forzare l'arresto della rete ospitata wireless.
- Chiamare la funzione WlanHostedNetworkStartUsing per avviare la rete ospitata wireless.
- Se l'avvio della rete ospitata wireless non riesce, restituisce un errore.
- Se L'interfaccia ICS completa è già in esecuzione e l'interfaccia pubblica o privata corrente è diversa dalla nuova interfaccia da usare, memorizzare nella cache le interfacce pubbliche e private correnti. Un'applicazione può anche scegliere di restituire un errore o richiedere all'utente se l'integrazione ICS è già in esecuzione.
- Avviare l'ICS completo con le nuove impostazioni per le interfacce pubbliche e private.
- Se l'ICS completo non riesce a iniziare con queste impostazioni, provare ad avviare il servizio ICS completo con le interfacce pubbliche e private memorizzate nella cache se il servizio ICS completo era in esecuzione in precedenza. Chiamare la funzione WlanHostedNetworkForceStop per arrestare la rete ospitata wireless e restituire un errore.
- Riporta il successo del completamento della rete ospitata wireless e del funzionamento completo dell'ICS.
Sequenza di arresto per la rete wireless ospitata
Quando si utilizza la rete ospitata wireless con ICS integrale, un'applicazione che ha completato il proprio lavoro potrebbe voler arrestare la rete ospitata wireless e il servizio ICS utilizzato per l'ICS integrale. In questo caso, è consigliabile chiamare la funzione WlanHostedNetworkForceStop per arrestare la rete ospitata anziché chiamare la funzione WlanHostedNetworkStopUsing. La funzione WlanHostedNetworkForceStop arresta la rete ospitata wireless e serve anche per consentire il ripristino di altre applicazioni. Per altre informazioni, vedere la discussione seguente sulla sequenza di ripristino per la rete wireless ospitata.
I passaggi ordinati seguenti sono la sequenza di arresto consigliata in un'applicazione che usa la rete ospitata wireless e l'ICS completo:
- Fermare l'ICS completo.
- Chiamare la funzione WlanHostedNetworkForceStop per arrestare la rete ospitata wireless.
Un'applicazione che utilizza una rete ospitata wireless senza ICS completo e che ha finito il suo lavoro deve solo chiamare la funzione WlanHostedNetworkStopUsing o WlanHostedNetworkForceStop per interrompere la rete ospitata wireless. Se la funzioneWlanHostedNetworkStartUsingè stata chiamata per avviare la rete ospitata wireless, l'applicazione deve chiamare la funzione WlanHostedNetworkStopUsing per arrestare la rete ospitata wireless. Se la rete ospitata wireless è già stata avviata prima dell'applicazione o dell'applicazione chiamata funzione WlanHostedNetworkForceStart per forzare l'avvio della rete ospitata wireless, l'applicazione può chiamare la funzione WlanHostedNetworkForceStop per arrestare la rete ospitata wireless o non eseguire alcuna operazione (lasciare avviata la rete ospitata wireless) a seconda dello scenario.
Sequenza di ripristino per la rete ospitata wireless
Un'applicazione che usa la rete ospitata wireless può essere influenzata dalle azioni di altre applicazioni. Il servizio ICS e le interfacce per la gestione di ICS non forniscono alcun metodo per la registrazione di un'applicazione per le notifiche di modifica ICS. Se un'altra applicazione chiama i metodi EnableSharing o DisableSharingnell'interfaccia INetSharingConfiguration per abilitare o disabilitare la condivisione in una connessione, viene inviato un messaggio all'interfaccia utente (schermata) nel computer locale non ad altre applicazioni. Pertanto, un'applicazione deve basarsi sulle notifiche della rete ospitata wireless per eseguire azioni di ripristino quando si verificano modifiche alla rete ospitata wireless o ICS.
Un'applicazione che usa la rete ospitata wireless deve registrarsi per le notifiche della rete ospitata wireless chiamando il WlanRegisterNotification. Se sono necessarie notifiche solo per la rete ospitata wireless, l'applicazione deve passare WLAN_NOTIFICATION_SOURCE_HNWK nel parametro dwNotifSource passato al WlanRegisterNotification. Se sono necessarie anche altre noticazioni wireless, è necessario combinare WLAN_NOTIFICATION_SOURCE_HNWK con le costanti di origine delle notifiche per altri tipi di notifiche wireless desiderate e passare questo valore nel parametro dwNotifSource.
La sequenza di ripristino è la stessa per le applicazioni con o senza ICS completo, presupponendo che le applicazioni non vogliano riavviare il servizio ICS. Quando si riceve una notifica relativa alla rete ospitata wireless che la rete ospitata si è interrotta, eseguire le operazioni seguenti:
- Se l'applicazione chiamata WlanHostedNetworkForceStart è stata usata per avviare la rete wireless ospitata, riavviare la rete ospitata chiamando WlanHostedNetworkForceStart. In caso contrario, chiamare WlanHostedNetworkStartUsing per riavviare la rete wireless ospitata.
Sequenza di ripristino per i dispositivi connessi
I dispositivi remoti o i computer connessi alla rete ospitata wireless possono essere interessati dalle azioni di altre applicazioni che influiscono su ICS e sulla rete ospitata wireless. Fortunatamente, la maggior parte dei dispositivi ha integrato la logica di ripetizione dei tentativi nell'applicazione del dispositivo per gestire una perdita temporanea di segnale o roaming.
Una possibile sequenza di ripristino per i dispositivi o i computer connessi alla rete ospitata wireless che perdono il contatto è il seguente:
- Il driver di dispositivo wireless indica una disconnessione multimediale ai livelli superiori dello stack di rete nel dispositivo.
- L'applicazione del dispositivo avvia controlli periodici per la disponibilità della rete ospitata wireless.
- Quando l'applicazione del dispositivo rileva nuovamente la rete ospitata wireless, il dispositivo avvia una connessione wireless.
- Una volta stabilita una connessione con la rete ospitata wireless, l'applicazione del dispositivo aggiorna le impostazioni IP di conseguenza.
Argomenti correlati