Freigeben über


CreateWindowStationA-Funktion (winuser.h)

Erstellt ein Fensterstationsobjekt, ordnet es dem aufrufenden Prozess zu und weist es der aktuellen Sitzung zu.

Syntax

HWINSTA CreateWindowStationA(
  [in, optional] LPCSTR                lpwinsta,
                 DWORD                 dwFlags,
  [in]           ACCESS_MASK           dwDesiredAccess,
  [in, optional] LPSECURITY_ATTRIBUTES lpsa
);

Parameter

[in, optional] lpwinsta

Der Name der zu erstellenden Fensterstation. Fensterstationsnamen sind ohne Groß-/Kleinschreibung und dürfen keine umgekehrten Schrägstriche (\) enthalten. Nur Mitglieder der Gruppe "Administratoren" dürfen einen Namen angeben. Wenn lpwinsta-NULL- oder eine leere Zeichenfolge ist, bildet das System einen Fensterstationsnamen unter Verwendung des Anmeldesitzungsbezeichners für den Aufrufvorgang. Rufen Sie zum Abrufen dieses Namens die GetUserObjectInformation-Funktion auf.

dwFlags

Wenn dieser Parameter CWF_CREATE_ONLY ist und die Fensterstation bereits vorhanden ist, schlägt der Aufruf fehl. Wenn diese Kennzeichnung nicht angegeben ist und die Fensterstation bereits vorhanden ist, wird die Funktion erfolgreich ausgeführt und gibt einen neuen Handle an die vorhandene Fensterstation zurück.

Windows XP/2000: Dieser Parameter ist reserviert und muss null sein.

[in] dwDesiredAccess

Der Zugriff auf den zurückgegebenen Ziehpunkt muss an die Fensterstation gehen. Darüber hinaus können Sie alle Standardzugriffsrechte angeben, z. B. READ_CONTROL oder WRITE_DAC, und eine Kombination aus den Zugriffsberechtigungen für die Fensterstation. Weitere Informationen finden Sie unter Window Station Security and Access Rights.

[in, optional] lpsa

Ein Zeiger auf eine SECURITY_ATTRIBUTES Struktur, die bestimmt, ob das zurückgegebene Handle von untergeordneten Prozessen geerbt werden kann. Wenn lpsaNULL-ist, kann der Handle nicht geerbt werden.

Der lpSecurityDescriptor Mitglied der Struktur gibt einen Sicherheitsdeskriptor für die neue Fensterstation an. Wenn lpsaNULL-ist, erhält die Fensterstation (und alle im Fenster erstellten Desktops) einen Sicherheitsdeskriptor, der GENERIC_ALL Zugriff auf alle Benutzer gewährt.

Rückgabewert

Wenn die Funktion erfolgreich ist, ist der Rückgabewert ein Handle für die neu erstellte Fensterstation. Wenn die angegebene Fensterstation bereits vorhanden ist, wird die Funktion erfolgreich ausgeführt und gibt einen Handle an die vorhandene Fensterstation zurück.

Wenn die Funktion fehlschlägt, ist der Rückgabewert NULL-. Rufen Sie GetLastErrorauf, um erweiterte Fehlerinformationen zu erhalten.

Bemerkungen

Nachdem Sie mit dem Handle fertig sind, müssen Sie CloseWindowStation- aufrufen, um den Handle frei zu geben.

Anmerkung

Der winuser.h-Header definiert CreateWindowStation als Alias, der die ANSI- oder Unicode-Version dieser Funktion basierend auf der Definition der UNICODE-Präprozessorkonstante automatisch auswählt. Das Mischen der Verwendung des codierungsneutralen Alias mit Code, der nicht codierungsneutral ist, kann zu Nichtübereinstimmungen führen, die zu Kompilierungs- oder Laufzeitfehlern führen. Weitere Informationen finden Sie unter Konventionen für Funktionsprototypen.

Anforderungen

Anforderung Wert
mindestens unterstützte Client- Windows 2000 Professional [nur Desktop-Apps]
mindestens unterstützte Server- Windows 2000 Server [nur Desktop-Apps]
Zielplattform- Fenster
Header- winuser.h (enthalten Windows.h)
Library User32.lib
DLL- User32.dll
API-Satz ext-ms-win-ntuser-windowstation-l1-1-0 (eingeführt in Windows 8)

Siehe auch

CloseWindowStation

GetUserObjectInformation-

OpenWindowStation-

Fensterstation und Desktopfunktionen

Fensterstationen