Funzione CreateWindowStationA (winuser.h)
Crea un oggetto stazione finestra, lo associa al processo chiamante e lo assegna alla sessione corrente.
Sintassi
HWINSTA CreateWindowStationA(
[in, optional] LPCSTR lpwinsta,
DWORD dwFlags,
[in] ACCESS_MASK dwDesiredAccess,
[in, optional] LPSECURITY_ATTRIBUTES lpsa
);
Parametri
[in, optional] lpwinsta
Nome della stazione finestra da creare. I nomi delle stazioni finestra non fanno distinzione tra maiuscole e minuscole e non possono contenere caratteri barra rovesciata (\). Solo i membri del gruppo Administrators possono specificare un nome. Se lpwinsta è NULL o una stringa vuota, il sistema forma un nome di stazione finestra usando l'identificatore di sessione di accesso per il processo chiamante. Per ottenere questo nome, chiamare la funzione GetUserObjectInformation .
dwFlags
Se questo parametro è CWF_CREATE_ONLY e la stazione finestra esiste già, la chiamata ha esito negativo. Se questo flag non viene specificato e la stazione finestra esiste già, la funzione riesce e restituisce un nuovo handle alla stazione finestra esistente.
Windows XP/2000: Questo parametro è riservato e deve essere zero.
[in] dwDesiredAccess
Il tipo di accesso all'handle restituito deve essere alla stazione finestra. Inoltre, è possibile specificare uno dei diritti di accesso standard, ad esempio READ_CONTROL o WRITE_DAC, e una combinazione dei diritti di accesso specifici della stazione finestra. Per altre informazioni, vedere Sicurezza e diritti di accesso della stazione finestre.
[in, optional] lpsa
Puntatore a una struttura SECURITY_ATTRIBUTES che determina se l'handle restituito può essere ereditato dai processi figlio. Se lpsa è NULL, l'handle non può essere ereditato.
Il membro lpSecurityDescriptor della struttura specifica un descrittore di sicurezza per la nuova stazione finestra. Se lpsa è NULL, la stazione finestra (e tutti i desktop creati all'interno della finestra) ottiene un descrittore di sicurezza che concede GENERIC_ALL l'accesso a tutti gli utenti.
Valore restituito
Se la funzione ha esito positivo, il valore restituito è un handle per la stazione finestra appena creata. Se la stazione finestra specificata esiste già, la funzione riesce e restituisce un handle alla stazione finestra esistente.
Se la funzione ha esito negativo, il valore restituito è NULL. Per informazioni dettagliate sull'errore, chiamare GetLastError.
Commenti
Al termine dell'handle, devi chiamare CloseWindowStation per liberare l'handle.
Nota
L'intestazione winuser.h definisce CreateWindowStation come alias che seleziona automaticamente la versione ANSI o Unicode di questa funzione in base alla definizione della costante del preprocessore UNICODE. La combinazione dell'utilizzo dell'alias indipendente dalla codifica con il codice che non è indipendente dalla codifica può causare mancate corrispondenze che generano errori di compilazione o di runtime. Per altre informazioni, vedere Convenzioni per i prototipi di funzioni.
Requisiti
Client minimo supportato | Windows 2000 Professional [solo app desktop] |
Server minimo supportato | Windows 2000 Server [solo app desktop] |
Piattaforma di destinazione | Windows |
Intestazione | winuser.h (include Windows.h) |
Libreria | User32.lib |
DLL | User32.dll |
Set di API | ext-ms-win-ntuser-windowstation-l1-1-0 (introdotto in Windows 8) |