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 crea 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 è specificato e la stazione finestra esiste già, la funzione ha esito positivo 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 qualsiasi 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 Window Station Security and Access Rights.
[in, optional] lpsa
Puntatore a una struttura di SECURITY_ATTRIBUTES che determina se l'handle restituito può essere ereditato dai processi figlio. Se lpsa è null, l'handle non può essere ereditato.
Il lpSecurityDescriptor membro della struttura specifica un descrittore di sicurezza per la nuova stazione finestra. Se lpsa è NULL, la stazione delle finestre (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 ottenere informazioni estese sull'errore, chiamare GetLastError.
Osservazioni
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 non indipendente dalla codifica può causare mancate corrispondenze che generano errori di compilazione o di runtime. Per altre informazioni, vedere convenzioni di per i prototipi di funzioni.
Fabbisogno
Requisito | Valore |
---|---|
client minimo supportato | Windows 2000 Professional [solo app desktop] |
server minimo supportato | Windows 2000 Server [solo app desktop] |
piattaforma di destinazione | Finestre |
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) |