Condividi tramite


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)

Vedere anche

CloseWindowStation

GetUserObjectInformation

OpenWindowStation

funzioni di windows e desktop