Passaggio rapido dell'utente
Quando un utente accede a un computer, il sistema carica il profilo. Poiché ogni utente ha un account utente univoco, ciò consente a più utenti di condividere un computer. Quando un utente accede, le impostazioni del desktop, i file, i preferiti e la cronologia visualizzati sono i loro; non possono essere accessibili da altri utenti. Quando l'utente si disconnette, il profilo viene mantenuto per la successiva volta che accede. Nei sistemi operativi meno recenti, un utente doveva disconnettersi prima che un altro utente potesse accedere. A partire da Windows XP, un utente non deve disconnettersi per consentire a un altro utente di accedere. È invece possibile che più utenti accedano e passino rapidamente tra gli account aperti. Questa funzionalità viene definita cambio rapido utente. Il passaggio a un altro account non modifica lo stato delle applicazioni attualmente in esecuzione da un utente. Si supponga, ad esempio, che un utente consenta a un altro utente di passare al proprio account mentre il primo utente è connesso. Quando il primo utente torna al proprio account, le applicazioni vengono eseguite e le connessioni di rete vengono mantenute. Pertanto, sembra che entrambi gli utenti usino simultaneamente il computer.
Se le applicazioni sono conformi ai requisiti del logo di Windows 2000, devono lavorare con il passaggio rapido degli utenti in Windows XP e nei sistemi operativi successivi. Tuttavia, è importante tenere presente questo scenario quando si sviluppa un'applicazione in modo che si comporti come previsto dagli utenti. Usare le linee guida seguenti per la scrittura delle applicazioni:
- Implementare la separazione del profilo reale. Il sistema fornisce un'infrastruttura sottostante che supporta la separazione dei dati utente, delle impostazioni utente e delle impostazioni del computer. Ad esempio, usare la cartella Documenti dell'utente per archiviare i dati creati dall'utente. Per individuare una directory per i dati specifici dell'applicazione, usare il sistema di cartelle note con FOLDERID_RoamingAppData) o, per i sistemi operativi meno recenti, il sistema CSIDL con CSIDL_APPDATA). Usare FOLDERID_LocalAppData o CSIDL_LOCAL_APPDATA per i dati che non devono essere disponibili per l'utente in altri computer, ad esempio file temporanei.
- Registrarsi per la notifica di un cambio utente. In genere, non è necessario che un'applicazione venga notificata quando si verifica l'opzione. Tuttavia, se l'applicazione deve ricevere una notifica di modifica della sessione, può registrarsi per ricevere un messaggio di WM_WTSedizione StandardSSION_CHANGE.
- Tenere presente altre istanze dell'applicazione. Ad esempio, ci sono momenti in cui un'applicazione deve scaricare un aggiornamento da Internet. L'aggiornamento può non riuscire se un altro utente esegue contemporaneamente un'istanza dell'applicazione in un'altra sessione. Anche se l'aggiornamento ha esito positivo, l'aggiornamento può causare il comportamento di altre istanze in esecuzione dell'applicazione in modo imprevedibile. Pertanto, è consigliabile eseguire un aggiornamento dinamico solo se non sono in esecuzione altre istanze dell'applicazione. Prima di scaricare un aggiornamento dell'applicazione, potrebbe essere opportuno implementare un metodo che segnali tutte le istanze in esecuzione dell'applicazione per salvare i dati e uscire correttamente.