Freigeben über


Anpassen von Winlogon

Passen Sie das Winlogon-Verhalten an, indem Sie einen Anmeldeinformationsanbieter implementieren. Informationen zu Anmeldeinformationsanbietern finden Sie unter ICredentialProvider-Schnittstelle.

Windows Server 2003 und Windows XP: Anmeldeinformationsanbieter werden nicht unterstützt.

In den folgenden Abschnitten wird beschrieben, wie Sie Winlogon in Windows-Versionen vor Windows Vista anpassen können.

Hinweis

GINA-DLLs und Winlogon-Benachrichtigungspakete werden in Windows Vista ignoriert.

 

Winlogon-Benachrichtigungspakete

Ein Winlogon-Benachrichtigungspaket ist eine DLL, die Funktionen exportiert, die Winlogon-Ereignisse behandeln. Wenn sich beispielsweise ein Benutzer am System anmeldet, ruft Winlogon jedes Benachrichtigungspaket auf, um Informationen zum Ereignis bereitzustellen. Weitere Informationen finden Sie unter Winlogon-Benachrichtigungspakete.

GINA Stubs

Ein GINA-Stub ist eine benutzerdefinierte GINA-DLL, die die Exportfunktionsimplementierungen einer zuvor installierten GINA-DLL (in der Regel MsGina.dll) verwendet. Ein GINA-Stub erhält Zeiger auf jede Funktion, die von der zuvor installierten GINA-DLL exportiert wird. Jede GINA-Stubfunktion verwendet dann den entsprechenden Funktionszeiger, um die entsprechende Funktion in der zuvor installierten GINA-DLL aufzurufen.

Wichtig

Jede GINA-Stubfunktion muss die entsprechende Funktion in der zuvor installierten GINA aufrufen.

 

Eine GINA-Stubfunktion kann zusätzliche Funktionen in einer oder mehreren ihrer Exportfunktionen implementieren. Beispielsweise kann die WlxLoggedOutSAS-Funktion eines GINA-Stubs die aktuelle Zeit überprüfen, bevor die WlxLoggedOutSAS-Funktion des MsGina.dll aufgerufen wird. Wenn sich die aktuelle Zeit innerhalb eines bestimmten Bereichs befand, könnte die Stubfunktion eine Meldung anzeigen, die angibt, dass die Anmeldung während dieses Zeitraums nicht zulässig ist, und WLX_SAS_ACTION_NONE an Winlogon zurückgeben. Die WlxLoggedOutSAS-Funktion des MsGina.dll wird dann nur während des zulässigen Zeitraums aufgerufen.

Die GINA-Stubanwendung ruft über den pWinlogonFunctions-Parameter der WlxInitialize-Funktion eine Verteilungstabelle für Winlogon-Unterstützungsfunktionen ab. Die GINA-Stubanwendung kann diese Verteilungstabelle verwenden, um Winlogon-Unterstützungsfunktionen aufzurufen. Beispielsweise kann eine GINA-Stubanwendung die WlxSasNotify-Funktion aufrufen, um ein SAS-Ereignis (Secure Attention Sequence) zu verursachen, wenn ein smarter Karte in einen Reader eingefügt wird.

Weitere Informationen zum Erstellen eines GINA-Stubs finden Sie im Gina Stubs-Beispiel im Verzeichnis \Samples\Security\Gina\GinaStub eines Platform Software Development Kit (SDK).

Hinweis

Alle Aufrufe zwischen einer GINA und Winlogon müssen innerhalb eines einzelnen Threads erfolgen.

 

GINA Hooks

Ein GINA-Hook ist ein GINA-Stub, der in seiner Implementierung der WlxInitialize-Funktion den Zeiger auf die Unterstützungsfunktion WlxDialogBoxParam in der Dispatchtabelle durch einen Zeiger auf die eigene Implementierung der WlxDialogBoxParam-Funktion ersetzt. Daher wird jedes Mal, wenn die zuvor installierte GINA (in der Regel MsGina.dll) die WlxDialogBoxParam-Funktion aufruft , die vom GINA-Hook implementierte Funktion aufgerufen.

Die vom GINA-Hook implementierte WlxDialogBoxParam-Funktion kann die DialogProc-Rückrufprozedur ersetzen, die auf ein bestimmtes Dialogfeldereignis reagiert.

Dadurch hat der GINA-Hook die vollständige Kontrolle über die Darstellung und das Verhalten aller Dialogfelder, die MsGina.dll erstellt.

Weitere Informationen zum Erstellen eines GINA-Hooks finden Sie im Gina Hooks-Beispiel im Verzeichnis \Samples\Security\Gina\GinaHook einer Platform SDK-Installation.

Hinweis

Alle Aufrufe zwischen einer GINA und Winlogon müssen innerhalb eines einzelnen Threads erfolgen.