Freigeben über


WlxLoggedOutSAS-Funktion (winwlx.h)

[Die WlxLoggedOutSAS-Funktion ist ab Windows Server 2008 und Windows Vista nicht mehr verfügbar.]

Die WlxLoggedOutSAS-Funktion muss von einer GINA-Ersatz-DLL implementiert werden. Winlogon ruft diese Funktion auf, wenn ein SAS-Ereignis (Secure Attention Sequence ) empfangen wird, während kein Benutzer angemeldet ist.

Hinweis GINA-DLLs werden in Windows Vista ignoriert.
 

Syntax

int WlxLoggedOutSAS(
  [in]      PVOID                pWlxContext,
  [in]      DWORD                dwSasType,
  [out]     PLUID                pAuthenticationId,
  [in, out] PSID                 pLogonSid,
  [out]     PDWORD               pdwOptions,
  [out]     PHANDLE              phToken,
  [out]     PWLX_MPR_NOTIFY_INFO pNprNotifyInfo,
  [out]     PVOID                *pProfile
);

Parameter

[in] pWlxContext

Ein Zeiger auf den GINA-Kontext, der dieser Fensterstation zugeordnet ist. Die GINA gibt diesen Kontextwert zurück, wenn Winlogon WlxInitialize für diese Station aufruft.

[in] dwSasType

Gibt den Sas-Typ an, der aufgetreten ist. Werte von null bis WLX_SAS_TYPE_MAX_MSFT_VALUE sind reserviert, um Microsoft-SAS-Standardtypen zu definieren. GINA-Entwickler können zusätzliche SAS-Typen definieren, indem sie Werte verwenden, die größer als WLX_SAS_TYPE_MAX_MSFT_VALUE sind.

Die folgenden SAS-Typen sind vordefiniert.

Wert Bedeutung
WLX_SAS_TYPE_CTRL_ALT_DEL
Gibt an, dass ein Benutzer die Standard-SAS STRG+ALT+DEL eingegeben hat.
WLX_SAS_TYPE_SC_INSERT
Gibt an, dass eine intelligente Karte in ein kompatibles Gerät eingefügt wurde.
WLX_SAS_TYPE_SC_REMOVE
Gibt an, dass eine intelligente Karte von einem kompatiblen Gerät entfernt wurde.
WLX_SAS_TYPE_TIMEOUT
Gibt an, dass innerhalb des angegebenen Timeoutzeitraums keine Benutzereingabe empfangen wurde.

[out] pAuthenticationId

Gibt den Authentifizierungsbezeichner an, der der aktuellen Anmeldesitzung zugeordnet ist. Sie können diesen Wert abrufen, indem Sie GetTokenInformation aufrufen, um eine TOKEN_STATISTICS-Struktur für das token abzurufen, das von der LogonUser-Funktion zurückgegeben wird.

[in, out] pLogonSid

Bei der Eingabe verweist dieser Parameter auf eine Sicherheits-ID (SID), die für die aktuelle Anmeldesitzung eindeutig ist. Winlogon verwendet diese SID, um den Schutz auf der Fensterstation und dem Anwendungsdesktop so zu ändern, dass der neue angemeldete Benutzer darauf zugreifen kann.

Bei der Ausgabe stellt Winlogon eine SID bereit. Sie können die SID auch mithilfe der GetTokenInformation-Funktion abrufen, um eine TOKEN_GROUPS-Struktur für das von der LogonUser-Funktion zurückgegebene Token abzurufen. Suchen Sie dazu das array, das in der TOKEN_GROUPS-Struktur für die Gruppe mit dem attribut SE_GROUP_LOGON_ID zurückgegeben wurde.

[out] pdwOptions

Ein Zeiger auf ein DWORD , das den Satz von Anmeldeoptionen enthält. Die folgende Option ist definiert.

Wert Bedeutung
WLX_LOGON_OPT_NO_PROFILE
Gibt an, dass Winlogon kein Profil für den angemeldeten Benutzer laden darf. Entweder übernimmt die GINA-DLL diese Aktivität, oder der Benutzer benötigt kein Profil.

[out] phToken

Ein Zeiger auf eine Handle-Variable. Wenn der Anmeldevorgang erfolgreich ist, legen Sie dieses Handle auf ein Token fest, das den angemeldeten Benutzer darstellt. Verwenden Sie die LogonUser-Funktion , um dieses Token abzurufen. Wenn sich der Benutzer abmeldet, schließt Winlogon dieses Handle und ruft die WlxLogoff-Funktion auf.

Wenn Sie dieses Handle nach dem Aufrufen der WlxLogoff-Funktion benötigen, erstellen Sie ein Duplikat des Handles, bevor Sie es an Winlogon zurückgeben.

[out] pNprNotifyInfo

Ein Zeiger auf eine WLX_MPR_NOTIFY_INFO Struktur, die Domänen-, Benutzernamen- und Kennwortinformationen für den Benutzer enthält. Winlogon verwendet diese Informationen, um Identifikations- und Authentifizierungsinformationen für Netzwerkanbieter bereitzustellen.

Die GINA ist nicht erforderlich, um Kennwortinformationen zurückzugeben. Alle NULL-Felder innerhalb der Struktur werden von Winlogon ignoriert. Verwenden Sie LocalAlloc , um jede Zeichenfolge zuzuordnen. Winlogon gibt sie frei, wenn sie nicht mehr benötigt werden.

Die GINA sollte Domänen-, Benutzer- und Kennwortwerte für die vollständige Sitzungsverzeichnisfunktionalität bereitstellen. Wenn das Kennwort nicht angegeben wird, muss der Benutzer im Sitzungsverzeichnis zweimal das Kennwort eingeben, bevor der Benutzer mit dem Server verbunden ist.

Informationen zum Schützen von Kennwörtern finden Sie unter Behandeln von Kennwörtern.

[out] pProfile

Bei der Rückkehr nach einer erfolgreichen Authentifizierung verweist der pProfile-Parameter entweder auf eine WLX_PROFILE_V1_0 oder eine WLX_PROFILE_V2_0-Struktur . Das erste DWORD in der Struktur gibt an, um welche Struktur es sich handelt. Winlogon verwendet diese Struktur, um das Profil des angemeldeten Benutzers zu laden, und gibt den der Struktur zugeordneten Arbeitsspeicher frei, wenn er nicht mehr benötigt wird.

Rückgabewert

Wenn die Funktion fehlschlägt, gibt die Funktion null zurück.

Wenn die Funktion erfolgreich ist, gibt sie einen der folgenden Werte zurück.

Rückgabecode Beschreibung
WLX_SAS_ACTION_LOGON
Gibt an, dass sich ein Benutzer angemeldet hat.
WLX_SAS_ACTION_NONE
Gibt an, dass der protokollierte Versuch nicht erfolgreich war oder abgebrochen wurde.
WLX_SAS_ACTION_SHUTDOWN
Gibt an, dass der Benutzer das Herunterfahren des Systems angefordert hat.

Hinweise

Vor dem Aufrufen von WlxLoggedOutSAS legt Winlogon den Desktopstatus so fest, dass der aktuelle Desktop der Winlogon-Desktop ist, und legt den Arbeitsstationsstatus so fest, dass der Desktop gesperrt ist.

Aktivieren Sie das Benutzershellprogramm nicht in WlxLoggedOutSAS. Das Benutzershellprogramm sollte immer in WlxActivateUserShell aktiviert werden.

Anforderungen

   
Unterstützte Mindestversion (Client) Windows XP [nur Desktop-Apps]
Unterstützte Mindestversion (Server) Windows Server 2003 [nur Desktop-Apps]
Zielplattform Windows
Kopfzeile winwlx.h

Weitere Informationen

WlxActivateUserShell

WlxInitialize