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)

Vedi anche

ChiudiWindowStation

GetUserObjectInformation

OpenWindowStation

Funzioni di windows e desktop

Stazioni finestra