Anpassen von Winlogon

Anpassen des Winlogon-Verhaltens durch Implementieren eines Anmeldeinformationsanbieter. Informationen zu Anmeldeinformationsanbietern finden Sie unter ICredentialProvider-Schnittstelle.

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

In den folgenden Abschnitten werden Möglichkeiten zum Anpassen von Winlogon in Windows Versionen vor Windows Vista beschrieben.

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 ein Benutzer beispielsweise beim System anmeldet, ruft Winlogon jedes Benachrichtigungspaket auf, um Informationen zum Ereignis bereitzustellen. Weitere Informationen finden Sie unter Winlogon Notification Packages.

GINA-Stubs

Ein GINA-Stub ist eine benutzerdefinierte GINA-DLL, die die Implementierungen der Exportfunktion einer zuvor installierten GINA-DLL verwendet (in der Regel MsGina.dll). Ein GINA-Stub ruft Zeiger auf jede Funktion ab, die von der zuvor installierten GINA-DLL exportiert wurde. 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 export-Funktionen 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 befindet, kann 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 Parameter pWinlogonFunctions der WlxInitialize-Funktion eine Dispatchtabelle an Winlogon-Unterstützungsfunktionen ab. Die GINA-Stubanwendung kann diese Dispatchtabelle verwenden, um Winlogon-Unterstützungsfunktionen aufzurufen. Beispielsweise kann eine GINA-Stubanwendung die WlxSasNotify-Funktion aufrufen, um ein SAS-Ereignis (Secure Attention Sequence) auszulösen, wenn eine Smartcard in einen Readereingefügt wird.

Weitere Informationen zum Erstellen eines GINA-Stubs finden Sie im Gina Stubs-Beispiel im \ \ \ \ Beispielsicherheitsverzeichnis Gina GinaStub einer Sdk-Installation (Platform Software Development Kit).

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 erhält der GINA-Hook vollständige Kontrolle über das Aussehen und Verhalten aller Dialogfelder, die MsGina.dll erstellt.

Weitere Informationen zum Erstellen eines GINA-Hooks finden Sie im Gina Hooks-Beispiel im \ \ \ \ Beispielsicherheitsverzeichnis Gina GinaHook einer Plattform-SDK-Installation.

Hinweis

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