Authentifizierungsfunktionen

Authentifizierungsfunktionen werden wie folgt nach Verwendung kategorisiert:

SSPI-Funktionen

SSPI-Funktionen (Security Support Provider Interface) fallen in die folgenden Hauptkategorien.

Verwalten von Paketen

SSPI-Paketverwaltungsfunktionen initiieren ein Sicherheitspaket, führen verfügbare Pakete auf und abfragen die Attribute eines Sicherheitspakets. Die folgenden SSPI-Funktionen stellen Verwaltungsdienste für Sicherheitspakete bereit.

Funktion BESCHREIBUNG
EnumerateSecurityPackages Listet verfügbare Sicherheitspakete und deren Funktionen auf.
InitSecurityInterface Ruft einen Zeiger auf eine SSP-Versandtabelle (Security Support Provider) ab.
QuerySecurityPackageInfo Ruft Informationen zu einem angegebenen Sicherheitspaket ab. Diese Informationen umfassen die Grenzen der Größen von Authentifizierungsinformationen, Anmeldeinformationen und Kontexten.

Verwalten von Anmeldeinformationen

SSPI-Verwaltungsfunktionen für Anmeldeinformationen bieten ein Anmeldeinformationshandle , einen Verweis auf ein undurchsichtiges Sicherheitsobjekt, für den Zugriff auf einen Prinzipal. Das Sicherheitsobjekt ist undurchsichtig, da die Anwendung nur Zugriff auf das Handle und nicht auf den tatsächlichen Inhalt der Struktur hat.

Alle Verweise auf den Inhalt eines Anmeldeinformationskontexts erfolgen über das Handle des Objekts, und das Sicherheitspaket leitet das Handle ab, um auf die Besonderheiten der Anmeldeinformationen zuzugreifen. Ein Anmeldeinformationshandle ist ein 64-Bit-Wert zwischen {0x00000000, 0x00000000} und {0xFFFFFFFF, 0xFFFFFFFE}.

Anwendungen verwenden das Handle für Anmeldeinformationen mit Kontextverwaltungsfunktionen , um einen Sicherheitskontext zu erstellen.

Verwaltungsfunktionen für Anmeldeinformationen geben auch Handles für Anmeldeinformationen frei und fragen die Attribute von Anmeldeinformationen ab. Derzeit ist der Mit anmeldeinformationen zugeordnete Name das einzige Attribut, das abgefragt werden kann.

Die folgenden Funktionen werden bei der Anmeldeinformationsverwaltung verwendet.

Funktion BESCHREIBUNG
AcquireCredentialsHandle (Allgemein) Ruft ein Handle für die bereits vorhandenen Anmeldeinformationen eines angegebenen Prinzipals ab.
ExportSecurityContext Exportiert einen Sicherheitskontext in einen Kontextpuffer.
FreeCredentialsHandle Gibt ein Handle für Anmeldeinformationen und zugeordnete Ressourcen frei.
ImportSecurityContext Importiert einen mithilfe von ExportSecurityContext exportierten Sicherheitskontext in den aktuellen Prozess.
QueryCredentialsAttributes Ruft die Attribute einer Anmeldeinformation ab, z. B. den Namen, der den Anmeldeinformationen zugeordnet ist.

Kontextverwaltung

SSPI-Kontextverwaltungsfunktionen erstellen und verwenden Sicherheitskontexte.

In einer Kommunikationsverbindung arbeiten Client und Server zusammen, um einen freigegebenen Sicherheitskontext zu erstellen. Client und Server verwenden sowohl den Sicherheitskontext mit Nachrichtenunterstützungsfunktionen , um die Nachrichtenintegrität und den Datenschutz während der Verbindung sicherzustellen.

Sicherheitskontexte sind undurchsichtige Sicherheitsobjekte. Informationen im Sicherheitskontext sind für die Anwendung nicht verfügbar. Kontextverwaltungsfunktionen erstellen und verwenden Kontexthandles, und das Sicherheitspaket leitet das Kontexthandle für den Zugriff auf seine Sicherheitsinhalte ab.

Ein Kontexthandle ist ein 64-Bit-Wert zwischen {0x00000000, 0x00000000} und {0xFFFFFFFF, 0xFFFFFFFE}.

Die folgenden Funktionen werden mit der Kontextverwaltung verwendet.

Funktion BESCHREIBUNG
AcceptSecurityContext (Allgemein) Wird von einem Server verwendet, um einen Sicherheitskontext basierend auf einer undurchsichtigen Nachricht zu erstellen, die von einem Client empfangen wird.
ApplyControlToken Wendet eine zusätzliche Sicherheitsmeldung auf einen vorhandenen Sicherheitskontext an.
CompleteAuthToken Schließt ein Authentifizierungstoken ab. Diese Funktion wird von Protokollen wie DCE verwendet, die die Sicherheitsinformationen überprüfen müssen, nachdem die Transportanwendung einige Nachrichtenparameter aktualisiert hat.
DeleteSecurityContext Gibt einen Sicherheitskontext und zugeordnete Ressourcen frei.
FreeContextBuffer Gibt einen Speicherpuffer frei, der einem Sicherheitspaket zugeordnet ist.
ImpersonateSecurityContext Gibt die Identität des Sicherheitskontexts an, um als Client für das System angezeigt zu werden.
InitializeSecurityContext (Allgemein) Wird von einem Client verwendet, um einen Sicherheitskontext zu initiieren, indem eine undurchsichtige Nachricht generiert wird, die an einen Server übergeben werden soll.
QueryContextAttributes (Allgemein) Ermöglicht einer Transportanwendung das Abfragen eines Sicherheitspakets für bestimmte Attribute eines Sicherheitskontexts.
QuerySecurityContextToken Ruft das Zugriffstoken für einen Clientsicherheitskontext ab und verwendet es direkt.
SetContextAttributes Ermöglicht einer Transportanwendung das Festlegen von Attributen eines Sicherheitskontexts für ein Sicherheitspaket. Diese Funktion wird nur vom Sicherheitspaket Schannel unterstützt.
RevertSecurityContext Ermöglicht einem Sicherheitspaket , den Identitätswechsel des Aufrufers abzubrechen und seinen eigenen Sicherheitskontext wiederherzustellen.

Nachrichtenunterstützung

SSPI-Nachrichtenunterstützungsfunktionen ermöglichen es einer Anwendung, manipulationssichere Nachrichten zu übertragen und zu empfangen sowie Nachrichten zu verschlüsseln und zu entschlüsseln. Diese Funktionen arbeiten mit einem oder mehreren Puffern, die eine Nachricht enthalten, und mit einem Sicherheitskontext, der von den Kontextverwaltungsfunktionen erstellt wurde. Das Verhalten der Funktionen unterscheidet sich je nachdem, ob eine Verbindung, ein Datagramm oder ein Streamkontext verwendet wird. Eine Beschreibung dieser Unterschiede finden Sie unter Semantik des SSPI-Kontexts.

Die folgenden Funktionen bieten Sicherheitsunterstützung für Nachrichten.

Funktion BESCHREIBUNG
DecryptMessage (Allgemein) Entschlüsselt eine verschlüsselte Nachricht mithilfe des Sitzungsschlüssels aus einem Sicherheitskontext.
EncryptMessage (Allgemein) Verschlüsselt eine Nachricht mithilfe des Sitzungsschlüssels aus einem Sicherheitskontext.
MakeSignature Generiert eine kryptografische Prüfsumme der Nachricht und enthält auch Sequenzierungsinformationen, um den Verlust oder das Einfügen von Nachrichten zu verhindern.
VerifySignature Überprüft mithilfe der MakeSignature-Funktion die Signatur einer empfangenen Nachricht, die vom Absender signiert wurde.

Von SSP/APs implementierte Funktionen

Die folgenden Funktionen werden durch Sicherheitspakete implementiert, die in Security Support Provider/Authentication Packages (SSP/APs) enthalten sind.

In den folgenden Tabellen wird der erste Funktionssatz von Windows XP SSP/AP-Sicherheitspaketen implementiert. Der zweite Satz von Funktionen wird nur durch SSP/AP-Sicherheitspakete implementiert.

Die lokale Sicherheitsbehörde (Local Security Authority , LSA) greift auf diese Funktionen mithilfe der SECPKG_FUNCTION_TABLE-Struktur zu, die von der SpLsaModeInitialize-Funktion des SSP/AP bereitgestellt wird.

Die folgenden Funktionen werden von allen Authentifizierungspaketen implementiert.

Funktion BESCHREIBUNG
LsaApCallPackage Wird von der lokalen Sicherheitsbehörde (Local Security Authority , LSA) aufgerufen, wenn eine Anmeldeanwendung mit einer vertrauenswürdigen Verbindung mit dem LSA die LsaCallAuthenticationPackage-Funktion aufruft und den Bezeichner des Authentifizierungspakets angibt.
LsaApCallPackagePassthrough Die Dispatchfunktion für Passthrough-Anmeldeanforderungen, die an die LsaCallAuthenticationPackage-Funktion gesendet werden
LsaApCallPackageUntrusted Wird von der lokalen Sicherheitsbehörde (Local Security Authority , LSA) aufgerufen, wenn eine Anwendung mit einer nicht vertrauenswürdigen Verbindung mit dem LSA die LsaCallAuthenticationPackage-Funktion aufruft und den Bezeichner des Authentifizierungspakets angibt.
LsaApInitializePackage Wird während der Systeminitialisierung einmal von der lokalen Sicherheitsbehörde (Local Security Authority , LSA) aufgerufen, um dem Authentifizierungspaket die Möglichkeit zu geben, sich selbst zu initialisieren.
LsaApLogonTerminated Wird verwendet, um ein Authentifizierungspaket zu benachrichtigen, wenn eine Anmeldesitzung beendet wird. Eine Anmeldesitzung wird beendet, wenn das letzte Token, das auf die Anmeldesitzung verweist, gelöscht wird.
LsaApLogonUser Authentifiziert die Anmeldeinformationen eines Benutzers.
LsaApLogonUserEx Authentifiziert die Anmeldeinformationen eines Benutzers.
LsaApLogonUserEx2 Wird verwendet, um einen Benutzeranmeldungsversuch bei der anfänglichen Anmeldung des Benutzers zu authentifizieren. Für den Benutzer wird eine neue Anmeldesitzung eingerichtet, und Validierungsinformationen für den Benutzer werden zurückgegeben.

Die folgenden zusätzlichen Funktionen werden von SSP/AP-Sicherheitspaketen implementiert.

Funktion BESCHREIBUNG
SpAcceptCredentials Wird von der lokalen Sicherheitsbehörde (Local Security Authority , LSA) aufgerufen, um dem Sicherheitspaket alle Anmeldeinformationen zu übergeben, die für den authentifizierten Sicherheitsprinzipal gespeichert sind.
SpAcceptLsaModeContext Serververteilungsfunktion zum Erstellen eines Sicherheitskontexts , der von einem Server und Client gemeinsam genutzt wird.
SpAcquireCredentialsHandle Wird aufgerufen, um ein Handle für die Anmeldeinformationen eines Prinzipals abzurufen.
SpAddCredentials Wird verwendet, um Anmeldeinformationen für einen Sicherheitsprinzipal hinzuzufügen.
SpApplyControlToken Wendet ein Steuerelementtoken auf einen Sicherheitskontext an. Diese Funktion wird derzeit nicht von der lokalen Sicherheitsbehörde (Local Security Authority , LSA) aufgerufen.
SpDeleteContext Löscht einen Sicherheitskontext.
SpDeleteCredentials Löscht Anmeldeinformationen aus der Liste der primären oder zusätzlichen Anmeldeinformationen eines Sicherheitspakets.
SpFreeCredentialsHandle Gibt Anmeldeinformationen frei, die durch Aufrufen der SpAcquireCredentialsHandle-Funktion erworben wurden.
SpGetCredentials Ruft Benutzeranmeldeinformationen ab.
SpGetExtendedInformation Stellt erweiterte Informationen zu einem Sicherheitspaket bereit.
SpGetInfo Stellt allgemeine Informationen zum Sicherheitspaket bereit, z. B. name und Funktionen.
SpGetUserInfo Ruft Informationen zu einer Anmeldesitzung ab.
SPInitialize Wird einmal von der lokalen Sicherheitsbehörde (Local Security Authority , LSA) aufgerufen, um ein Sicherheitspaket mit allgemeinen Sicherheitsinformationen und einer Bereitstellungstabelle mit Supportfunktionen bereitzustellen.
SpInitLsaModeContext Die Client-Dispatchfunktion, die zum Einrichten eines Sicherheitskontexts zwischen einem Server und einem Client verwendet wird.
SpQueryContextAttributes Ruft die Attribute eines Sicherheitskontexts ab.
SpQueryCredentialsAttributes Ruft die Attribute für anmeldeinformationen ab.
SpSaveCredentials Speichert zusätzliche Anmeldeinformationen für das Benutzerobjekt.
SpSetExtendedInformation Legt erweiterte Informationen zum Sicherheitspaket fest.
SpShutdown Führt alle vor dem Entladen des SSP/AP erforderlichen Bereinigungen durch.
SslCrackCertificate Gibt eine X509Certificate-Struktur mit den Informationen zurück, die im angegebenen Zertifikatblob enthalten sind.
SslEmptyCache Entfernt die angegebene Zeichenfolge aus dem Schannel-Cache.
SslFreeCertificate Gibt ein Zertifikat frei, das durch einen vorherigen Aufruf der SslCrackCertificate-Funktion zugewiesen wurde.

Von Benutzermodus-SSP/APs implementierte Funktionen

Die folgenden Funktionen werden von Security Support Provider/Authentication Packages (SSP/APs) implementiert, die in Client-/Serveranwendungen geladen werden können.

Ein SSP/AP gibt an, dass er die Benutzermodusfunktionen implementiert, indem true im MappedContext-Parameter der Funktionen SpInitLsaModeContext und SpAcceptLsaModeContext zurückgegeben wird. Die SpInitLsaModeContext-Funktion wird von der Clientseite einer Anwendung auf Transportebene verwendet, während SpAcceptLsaModeContext von der Serverseite verwendet wird.

Das Laden eines SSP/AP in den Client- oder Serverprozess wird von der Sicherheitsanbieter-DLL verarbeitet, entweder Security.dll oder Secur32.dll. Die Sicherheitsanbieter-DLL lädt den SSP/AP, indem die Adresse der vom SSP/AP implementierten SpUserModeInitialize-Funktion gefunden und aufgerufen wird. Diese Funktion gibt einen Satz von Tabellen zurück, die Zeiger auf die Benutzermodusfunktionen enthalten, die in jedem Sicherheitspaket implementiert sind.

Nachdem der SSP/AP in den Client- oder Serverprozess geladen wurde, kopiert die lokale Sicherheitsbehörde (LSA) die Sicherheitskontextinformationen (zurückgegeben von SpInitLsaModeContext oder SpAcceptLsaModeContext) und alle zusätzlichen kontextbezogenen Daten in den Prozess und ruft die SpInitUserModeContext-Funktion des Sicherheitspakets auf.

Client-/Serveranwendungen greifen auf Benutzermodusfunktionen zu, indem sie SSPI-Funktionen ( Security Support Provider Interface ) aufrufen. Die SSPI-Funktionen werden von der Sicherheitsanbieter-DLL mithilfe der vom Paket bereitgestellten SECPKG_USER_FUNCTION_TABLE zugeordnet.

Funktion BESCHREIBUNG
SpCompleteAuthToken Schließt ein Authentifizierungstoken ab.
Implementiert die SSPI CompleteAuthToken-Funktion .
SpDeleteContext Löscht einen Sicherheitskontext.
Implementiert die SSPI DeleteSecurityContext-Funktion .
SpExportSecurityContext Exportiert einen Sicherheitskontext in einen anderen Prozess.
Implementiert die SSPI ExportSecurityContext-Funktion .
SpFormatCredentials Formatiert Anmeldeinformationen , die in einem Benutzerobjekt gespeichert werden sollen.
SpGetContextToken Ruft das Token ab, das identitätswechseln soll.
Wird von der SSPI ImpersonateSecurityContext-Funktion verwendet.
SpImportSecurityContext Importiert einen Sicherheitskontext aus einem anderen Prozess.
Implementiert die SSPI ImportSecurityContext-Funktion .
SpInitUserModeContext Erstellt einen Benutzermodussicherheitskontext aus einem gepackten LSA-Modus ( Local Security Authority ).
SpInstanceInit Initialisiert Benutzermodussicherheitspakete in einem SSP/AP.
SpMakeSignature Generiert eine Signatur basierend auf der angegebenen Nachricht und dem angegebenen Sicherheitskontext.
Implementiert die SSPI MakeSignature-Funktion .
SpMarshallSupplementalCreds Konvertiert zusätzliche Anmeldeinformationen aus einem öffentlichen Format in ein Format, das für lokale Prozeduraufrufe geeignet ist.
SpQueryContextAttributes Ruft die Attribute eines Sicherheitskontexts ab.
Implementiert die SSPI QueryContextAttributes-Funktion (General).
SpSealMessage Verschlüsselt eine Nachricht, die zwischen einem Client und einem Server ausgetauscht wird.
Implementiert die Funktion SSPI EncryptMessage (Allgemein).
SpUnsealMessage Entschlüsselt eine Nachricht, die zuvor mit der SpSealMessage-Funktion verschlüsselt wurde.
Implementiert die Funktion SSPI DecryptMessage (Allgemein).
SpUserModeInitialize Wird aufgerufen, wenn eine SSP/AP-DLL ( Security Support Provider/Authentication Package ) in den Prozessbereich einer Client-/Serveranwendung geladen wird. Diese Funktion stellt die SECPKG_USER_FUNCTION_TABLE Tabellen für jedes Sicherheitspaket in der SSP/AP-DLL bereit.
SpVerifySignature Überprüft, ob die empfangene Nachricht gemäß der Signatur korrekt ist.
Implementiert die SSPI VerifySignature-Funktion .

Von SSP/APs aufgerufene LSA-Funktionen

Die lokale Sicherheitsbehörde (Local Security Authority , LSA) stellt die folgenden Funktionen für Sicherheitspakete bereit, die in Security Support Provider/Authentication Packages (SSP/APs) bereitgestellt werden. Die Funktionen sind in der LSA_SECPKG_FUNCTION_TABLE-Struktur verfügbar und können aufgerufen werden, während der SSP/AP in den Prozessraum des LSA geladen wird. Die folgenden Funktionen stehen allen APs zur Verfügung.

Funktion BESCHREIBUNG
Hinzufügen von Anmeldeinformationen Fügt Benutzeranmeldeinformationen hinzu.
AllocateClientBuffer Ordnet Arbeitsspeicher im Adressraum des Paketclients zu.
AllocateLsaHeap Ordnet Arbeitsspeicher auf dem Heap zu. Es wird erwartet, dass einige Informationen, die an die LSA übergeben werden, mithilfe dieser Funktion zugeordnet werden.
CopyFromClientBuffer Kopiert Informationen aus dem Adressraum eines Clientprozesses in einen Puffer im aktuellen Prozess.
CopyToClientBuffer Kopiert Informationen aus einem Puffer im aktuellen Prozess in den Adressraum eines Clientprozesses.
CreateLogonSession Erstellt Anmeldesitzungen.
DeleteCredential Löscht Benutzeranmeldeinformationen.
DeleteLogonSession Löscht eine LSA-Anmeldesitzung.
FreeClientBuffer Gibt Arbeitsspeicher im Adressraum des Paketclients frei.
FreeLsaHeap Deallocates Heap-Speicher, der zuvor von AllocateLsaHeap zugewiesen wurde.
GetCredentials Ruft Anmeldeinformationen ab, die einer Anmeldesitzung zugeordnet sind.

Die folgenden Funktionen sind für SSP/APs verfügbar.

Funktion BESCHREIBUNG
AllocateSharedMemory Ordnet einen Abschnitt des freigegebenen Arbeitsspeichers zu.
AuditAccountLogon Erstellt Überwachungsdatensätze für versuchte Anmeldungen.
AuditLogon Erstellt einen Überwachungspfad für eine Anmeldesitzung.
CallPackage Ruft ein Paket auf.
CallPackageEx Ruft ein anderes Paket auf.
CallPackagePassthrough Ruft ein Sicherheitspaket von einem anderen auf.
CancelNotification Bricht die Benachrichtigung für besondere Ereignisse ab.
ClientCallback Ermöglicht einem Sicherheitspaket das Aufrufen einer Funktion im Clientprozess.
Einen Prototyp der ClientCallback-Funktion finden Sie unter Prototyp der ClientCallback-Funktion.
CloseSamUser Schließt ein Handle mit einem Security Accounts Manager-Datenbankeintrag.
ConvertAuthDataToToken Konvertiert Autorisierungsdaten in ein Benutzertoken.
CrackSingleName Konvertiert einen Namen aus einem Format in ein anderes.
CreateSharedMemory Erstellt einen Abschnitt des Arbeitsspeichers, der zwischen Clients und dem SSP/AP gemeinsam genutzt wird.
CreateThread Erstellt einen neuen Thread.
CreateToken Erstellt ein Token.
DeleteSharedMemory Löscht einen Abschnitt des freigegebenen Arbeitsspeichers.
DuplicateHandle Dupliziert ein Handle.
FreeReturnBuffer Gibt einen Puffer frei, der vom LSA zugewiesen wird.
FreeSharedMemory Gibt einen Abschnitt des freigegebenen Arbeitsspeichers frei.
GetAuthDataForUser Ruft Autorisierungsdaten für ein Benutzerkonto ab.
GetCallInfo Ruft Informationen zum letzten Funktionsaufruf ab.
GetClientInfo Ruft Informationen zum Benutzerprozess des Sicherheitspakets ab.
GetUserAuthData Gibt die Autorisierungsdaten für einen Benutzer zurück.
GetUserCredentials Noch nicht implementiert.
IdentitätswechselClient Wird von Sicherheitspaketen aufgerufen, um die Identität des Paketbenutzers zu annehmen.
MapBuffer Ordnet eine SecBuffer-Struktur dem Adressraum des Security Support Provider/Authentication Package (SSP/AP) zu.
OpenSamUser Ruft ein Handle für ein Benutzerkonto in der SAM-Datenbank (Security Accounts Manager ) ab.
RegisterNotification Stellt einen Mechanismus bereit, bei dem das Sicherheitspaket benachrichtigt wird. Benachrichtigungen können in festen Intervallen erfolgen, wenn ein Ereignisobjekt signalisiert wird, oder während bestimmter Systemereignisse.
SaveSupplementalCredentials Veraltet. Darf nicht verwendet werden.
UnloadPackage Entlädt einAuthentifizierungspaket des Sicherheitsunterstützungsanbieters (Security Support Provider/ Authentication Package, SSP/AP).
UpdateCredentials Stellt einen Mechanismus für ein Sicherheitspaket bereit, um andere Pakete darüber zu benachrichtigen, dass die Anmeldeinformationen für eine Anmeldesitzung geändert wurden.

LSA-Funktionen, die von Benutzermodus-SSP/APs aufgerufen werden

Ein Sicherheitspaket in einemAuthentifizierungspaket (Security Support Provider/ Authentication Package, SSP/AP), das in einem Benutzermodusprozess ausgeführt wird, kann die Zeiger in der SECPKG_DLL_FUNCTIONS Tabelle verwenden, um auf die folgenden Funktionen zuzugreifen.

Funktion PSDK-status
AllocateHeap Ordnet Arbeitsspeicher für Puffer zu, die an die lokale Sicherheitsbehörde (Local Security Authority , LSA) zurückgegeben werden.
FreeHeap Gibt Arbeitsspeicher frei, der zuvor mithilfe von AllocateHeap zugewiesen wurde.
Registercallback Registriert Rückruffunktionen im Benutzermodus.

GINA-Exportfunktionen

Eine GINA-DLL muss die folgenden Funktionen exportieren.

Hinweis

GINA-DLLs werden in Windows Vista ignoriert.

Funktion BESCHREIBUNG
WlxActivateUserShell Aktiviert das Benutzershellprogramm.
WlxDisplayLockedNotice Ermöglicht der GINA das Anzeigen von Informationen über die Sperre, z. B. wer die Arbeitsstation gesperrt hat und wann sie gesperrt wurde.
WlxDisplaySASNotice Winlogon ruft diese Funktion auf, wenn kein Benutzer angemeldet ist.
WlxDisplayStatusMessage Winlogon ruft diese Funktion auf, wenn die GINA-DLL eine Meldung anzeigen soll.
WlxGetConsoleSwitchCredentials Winlogon ruft diese Funktion auf, um die Anmeldeinformationen des aktuell angemeldeten Benutzers zu lesen, um sie transparent in eine Zielsitzung zu übertragen.
WlxGetStatusMessage Winlogon ruft diese Funktion auf, um die status Meldung abzurufen, die von der GINA-DLL angezeigt wird.
WlxInitialize Winlogon ruft diese Funktion einmal für jede Fensterstation auf dem Computer auf. Derzeit unterstützt das Betriebssystem eine Fensterstation pro Arbeitsstation.
WlxIsLockOk Winlogon ruft diese Funktion auf, bevor versucht wird, die Arbeitsstation zu sperren.
WlxIsLogoffOk Winlogon ruft diese Funktion auf, wenn der Benutzer einen Abmeldevorgang initiiert.
WlxLoggedOnSAS Winlogon ruft diese Funktion auf, wenn es ein SAS-Ereignis (Secure Attention Sequence ) empfängt, während der Benutzer angemeldet ist und die Arbeitsstation nicht gesperrt ist.
WlxLoggedOutSAS Winlogon ruft diese Funktion auf, wenn es ein SAS-Ereignis (Secure Attention Sequence ) empfängt, während kein Benutzer angemeldet ist.
WlxLogoff Winlogon ruft diese Funktion auf, um die GINA über einen Abmeldevorgang auf dieser Arbeitsstation zu benachrichtigen, sodass die GINA alle möglicherweise erforderlichen Abmeldungsvorgänge ausführen kann.
WlxNegotiate Die WlxNegotiate-Funktion muss von einer GINA-Ersatz-DLL implementiert werden. Dies ist der erste Aufruf von Winlogon an die GINA-DLL. Mit WlxNegotiate kann die GINA überprüfen, ob sie die installierte Version von Winlogon unterstützt.
WlxNetworkProviderLoad Winlogon ruft diese Funktion auf, um gültige Authentifizierungs- und Identifikationsinformationen zu sammeln.
WlxRemoveStatusMessage Winlogon ruft diese Funktion auf, um die GINA-DLL anzuweisen, die Anzeige der status-Nachricht zu beenden.
WlxScreenSaverNotify Winlogon ruft diese Funktion unmittelbar vor dem Aktivieren eines Bildschirmschoner auf, sodass die GINA mit dem Bildschirmschonerprogramm interagieren kann.
WlxShutdown Winlogon ruft diese Funktion kurz vor dem Herunterfahren auf, sodass die GINA alle Herunterfahraufgaben ausführen kann, z. B. das Auswerfen eines intelligenten Karte aus einem Leser.
WlxStartApplication Winlogon ruft diese Funktion auf, wenn das System eine Anwendung im Kontext des Benutzers starten muss.
WlxWkstaLockedSAS Winlogon ruft diese Funktion auf, wenn sie eine sichere Aufmerksamkeitssequenz (SAS ) empfängt und die Arbeitsstation gesperrt ist.

Anmeldebenutzerfunktionen

Die folgenden Funktionen bieten die Möglichkeit, sich bei einem Benutzer anzumelden.

Funktion BESCHREIBUNG
LogonUser Versucht, einen Benutzer auf dem lokalen Computer anzumelden.
LogonUserEx Versucht, einen Benutzer auf dem lokalen Computer anzumelden. Diese Funktion ist eine erweiterte Version der LogonUser-Funktion und ruft Informationen über die Sicherheits-ID (SID), das Profil und die Kontingentlimits des angemeldeten Benutzers ab.
LogonUserExExW Die LogonUserExExW-Funktion versucht, einen Benutzer auf dem lokalen Computer zu protokollieren. Diese Funktion wird nicht in einem öffentlichen Header deklariert und verfügt über keine zugehörige Importbibliothek. Sie müssen die Funktionen LoadLibrary und GetProcAddress verwenden, um eine dynamische Verknüpfung mit Advapi32.dll.

Winlogon-Supportfunktionen

GINA DLLs können die folgenden Winlogon-Unterstützungsfunktionen aufrufen.

Hinweis

GINA-DLLs werden in Windows Vista ignoriert.

Funktion Aufgerufen von GINA
WlxAssignShellProtection Wird von GINA aufgerufen, um dem Shellprogramm eines neu angemeldeten Benutzers Schutz zuzuweisen.
WlxChangePasswordNotify Wird von GINA aufgerufen, um anzugeben, dass ein Kennwort geändert wurde.
WlxChangePasswordNotifyEx Wird von GINA aufgerufen, um einem bestimmten Netzwerkanbieter (oder allen Netzwerkanbietern) mitzuteilen, dass ein Kennwort geändert wurde.
WlxCloseUserDesktop Wird von GINA aufgerufen, um einen alternativen Benutzerdesktop zu schließen und nach dem Schließen des Desktops sauber.
WlxCreateUserDesktop Wird von GINA aufgerufen, um alternative Anwendungsdesktops für den Benutzer zu erstellen.
WlxDialogBox Wird von der GINA aufgerufen, um ein modales Dialogfeld aus einer Dialogfeldvorlage zu erstellen.
WlxDialogBoxIndirect Wird von GINA aufgerufen, um ein modales Dialogfeld aus einer Dialogfeldvorlage im Arbeitsspeicher zu erstellen.
WlxDialogBoxIndirectParam Wird von GINA aufgerufen, um Dialogfeldsteuerelemente zu initialisieren und dann ein modales Dialogfeld aus einer Dialogfeldvorlage im Arbeitsspeicher zu erstellen.
WlxDialogBoxParam Wird von GINA aufgerufen, um Dialogfeldsteuerelemente zu initialisieren und dann ein modales Dialogfeld aus einer Dialogfeldvorlagenressource zu erstellen.
WlxDisconnect Wird von einer GINA-Ersatz-DLL aufgerufen, wenn Terminaldienste aktiviert sind. GINA ruft diese Funktion auf, um die Verbindung mit einer Terminaldienste-Netzwerksitzung zu trennen.
WlxGetOption Wird von GINA aufgerufen, um den aktuellen Wert einer Option abzurufen.
WlxGetSourceDesktop Wird von GINA aufgerufen, um den Namen und das Handle des Desktops zu bestimmen, der aktuell war, bevor Winlogon zum Winlogon-Desktop wechselte.
WlxMessageBox Wird von GINA aufgerufen, um ein Meldungsfeld zu erstellen, anzuzeigen und zu betreiben.
WlxQueryClientCredentials Wird von einer GINA-Ersatz-DLL aufgerufen, wenn Terminaldienste aktiviert sind. GINA ruft diese Funktion auf, um die Anmeldeinformationen von Remoteterminaldiensteclients abzurufen, die keine Internetconnectorlizenz verwenden.
WlxQueryConsoleSwitchCredentials Wird von GINA aufgerufen, um die Anmeldeinformationen zu lesen, die vom Winlogon der temporären Sitzung an das Winlogon der Zielsitzung übertragen wurden.
WlxQueryInetConnectorCredentials Wird von einer GINA-Ersatz-DLL aufgerufen, wenn Terminaldienste aktiviert sind. GINA ruft diese Funktion auf, um zu ermitteln, ob der Terminalserver die Internetconnectorlizenzierung verwendet, und um Anmeldeinformationen abzurufen.
WlxQueryTerminalServicesData Wird von GINA aufgerufen, um Die Terminaldienste-Benutzerkonfigurationsinformationen abzurufen, nachdem sich ein Benutzer angemeldet hat.
WlxSasNotify Wird von GINA aufgerufen, um Winlogon über ein SAS-Ereignis (Secure Attention Sequence ) zu benachrichtigen.
WlxSetContextPointer Wird von GINA aufgerufen, um den von Winlogon übergebenen Kontextzeiger als ersten Parameter für alle zukünftigen Aufrufe von GINA-Funktionen anzugeben.
WlxSetOption Wird von GINA aufgerufen, um den Wert einer Option festzulegen.
WlxSetReturnDesktop Wird von GINA aufgerufen, um den alternativen Anwendungsdesktop anzugeben, zu dem Winlogon wechselt , wenn die aktuelle SAS-Ereignisverarbeitungsfunktion ( Secure Attention Sequence ) abgeschlossen ist.
WlxSetTimeout Wird von GINA aufgerufen, um das Timeout zu ändern, das einem Dialogfeld zugeordnet ist. Das Standardtimeout beträgt zwei Minuten.
WlxSwitchDesktopToUser Wird von GINA aufgerufen, um zum Anwendungsdesktop zu wechseln.
WlxSwitchDesktopToWinlogon Ermöglicht der GINA-DLL den Wechsel zum Winlogon-Desktop .
WlxUseCtrlAltDel Wird von GINA aufgerufen, um Winlogon anweisen, die Standardkombination STRG+ALT+ENTF als sichere Aufmerksamkeitssequenz (SAS ) zu verwenden.
WlxWin31Migrate Wird von einer GINA-Ersatz-DLL aufgerufen, wenn Terminaldienste aktiviert sind. GINA ruft diese Funktion auf, um die Einrichtung des Terminaldiensteclients abzuschließen.

Netzwerkanbieterfunktionen

Die folgenden Themen enthalten Referenzinformationen zu den Netzwerkanbieterfunktionen.

Thema BESCHREIBUNG
Von Netzwerkanbietern implementierte Funktionen Detailfunktionen, die von Netzwerkanbietern implementiert werden können.
Unterstützungsfunktionen Enthält eine Funktion, die vom Betriebssystem implementiert wird und von Netzwerkanbietern aufgerufen werden kann.
Verbindungsbenachrichtigungsfunktionen Detailfunktionen, die von Anwendungen implementiert werden, die Benachrichtigungen vom Multiple Provider Router (MPR) erhalten müssen, wenn eine Netzwerkressource verbunden oder getrennt ist.

Von Netzwerkanbietern implementierte Funktionen

Die folgenden Funktionen können von Netzwerkanbietern implementiert werden. Die einzige Funktion, die Netzwerkanbieter unterstützen müssen, ist NPGetCaps.

Funktion BESCHREIBUNG
NPAddConnection Verbindet ein lokales Gerät mit einer Netzwerkressource.
NPAddConnection3 Verbindet ein lokales Gerät mit einer Netzwerkressource.
NPCancelConnection Trennt eine Netzwerkverbindung.
NPCloseEnum Schließt eine Enumeration.
NPDeviceMode Gibt das übergeordnete Fenster eines Geräts an. Dieses Fenster besitzt alle Dialogfelder, die vom Gerät stammen.
NPDirectoryNotify Benachrichtigt den Netzwerkanbieter über bestimmte Verzeichnisvorgänge.
NPEnumResource Führt eine Enumeration basierend auf einem von NPOpenEnum zurückgegebenen Handle aus.
NPFormatNetworkName Formatiert einen Netzwerknamen in einem anbieterspezifischen Format für die Anzeige in einem Steuerelement.
NPGetCaps Gibt Informationen darüber zurück, welche Dienste im Netzwerk unterstützt werden.
NPGetConnection Ruft Informationen zu einer Verbindung ab.
NPGetConnection3 Ruft Informationen zu einer Netzwerkverbindung ab, auch wenn sie derzeit getrennt ist.
NPGetConnectionPerformance Gibt Informationen zur erwarteten Leistung einer Verbindung zurück, die für den Zugriff auf eine Netzwerkressource verwendet wird. Die Anforderung kann nur für eine Netzwerkressource sein, die derzeit verbunden ist.
NPGetDirectoryType Bestimmt den Typ eines Netzwerkverzeichnisses.
NPGetPropertyText Ruft die Namen von Schaltflächen ab, die einem Eigenschaftendialogfeld für eine Netzwerkressource hinzugefügt werden sollen.
NPGetResourceInformation Trennt den Teil einer Netzwerkressource, auf die über die WNet-API zugegriffen wird, von dem Teil, auf den über APIs spezifisch für den Ressourcentyp zugegriffen wird.
NPGetResourceParent Ruft das übergeordnete Element einer angegebenen Netzwerkressource in der Suchhierarchie ab.
NPGetUniversalName Ruft den universellen Namen einer Netzwerkressource ab. Die NPGetUniversalName-Funktion kann diesen universellen Namen im UNC-Format oder im älteren Remotenamenformat abrufen.
NPGetUser Ruft den Wert des aktuellen Standardbenutzernamens oder des Benutzernamens ab, der zum Herstellen einer Netzwerkverbindung verwendet wird.
NPOpenEnum Öffnet eine Enumeration von Netzwerkressourcen oder vorhandenen Verbindungen. Die NPOpenEnum-Funktion muss aufgerufen werden, um ein gültiges Handle für eine Enumeration zu erhalten.
NPPropertyDialog Wird aufgerufen, wenn der Benutzer auf eine Schaltfläche klickt, die mithilfe der NPPropertyDialog-Funktion hinzugefügt wurde. Die NPPropertyDialog-Funktion wird nur für Datei- und Verzeichnisnetzwerkeigenschaften aufgerufen.
NPSearchDialog Ermöglicht Es Netzwerkanbietern, über die im Dialogfeld Verbindung dargestellte hierarchische Ansicht hinaus ihre eigene Form des Durchsuchens und Suchens bereitzustellen.

Unterstützungsfunktionen

Die folgende Funktion wird vom Betriebssystem implementiert und kann von Netzwerkanbietern aufgerufen werden.

Funktion BESCHREIBUNG
WNetSetLastError Legt erweiterte Fehlerinformationen fest. Netzwerkanbieter sollten diese Funktion anstelle von SetLastError aufrufen.

Verbindungsbenachrichtigungsfunktionen

Die folgenden Funktionen werden von Anwendungen implementiert, die eine Benachrichtigung vom Multiple Provider Router (MPR) erhalten müssen, wenn eine Netzwerkressource verbunden oder getrennt wird. Weitere Informationen zum Schreiben einer Anwendung, die solche Benachrichtigungen empfängt, finden Sie unter Empfangen von Verbindungsbenachrichtigungen.

Funktion BESCHREIBUNG
AddConnectNotify Wird vor und nach jedem Verbindungsvorgang zum Hinzufügen aufgerufen (WNetAddConnection, WNetAddConnection2 und WNetAddConnection3).
CancelConnectNotify Wird vor und nach jedem Verbindungsabbruchvorgang aufgerufen (WNetCancelConnection oder WNetCancelConnection2).

LSA-Anmeldefunktionen

Die folgenden LSA-Authentifizierungsfunktionen ( Local Security Authority ) authentifizieren und melden Benutzer an und stellen Anmeldesitzungsinformationen bereit.

Funktion BESCHREIBUNG
LsaCallAuthenticationPackage Fordert einen paketspezifischen Dienst aus einem Authentifizierungspaket an.
LsaConnectUntrusted Stellt eine nicht vertrauenswürdige Verbindung mit der LSA her.
LsaDeregisterLogonProcess Trennt die Verbindung mit dem LSA und gibt Ressourcen frei, die dem Kontext des Aufrufers zugeordnet sind.
LsaEnumerateLogonSessions Ruft lokal eindeutige Bezeichner (LUIDs) für vorhandene Anmeldesitzungen ab.
LsaFreeReturnBuffer Gibt Arbeitsspeicher frei, der einem Puffer zugeordnet ist, der an einen Aufrufer zurückgegeben wird.
LsaGetLogonSessionData Ruft Informationen zu einer angegebenen Anmeldesitzung ab.
LsaLogonUser Authentifiziert Benutzeranmeldedaten mit gespeicherten Anmeldeinformationen. Bei erfolgreicher Ausführung wird eine neue Anmeldesitzung erstellt und ein Benutzertoken zurückgegeben.
LsaLookupAuthenticationPackage Ruft den eindeutigen Bezeichner eines Authentifizierungspakets ab.
LsaQueryDomainInformationPolicy Ruft Domäneninformationen aus dem Policy-Objekt ab.
LsaQueryForestTrustInformation Ruft Gesamtstrukturvertrauensinformationen für das angegebene TrustedDomain-Objekt der lokalen Sicherheitsautorität ab.
LsaRegisterLogonProcess Stellt eine Verbindung mit dem LSA-Server her und überprüft, ob der Aufrufer eine Anmeldeanwendung ist.
LsaSetDomainInformationPolicy Legt Domäneninformationen auf das Policy-Objekt fest.
LsaSetForestTrustInformation legt die Vertrauensinformationen der Gesamtstruktur für ein angegebenes TrustedDomain-Objekt der lokalen Sicherheitsautorität fest.

Von Authentifizierungspaketen implementierte Funktionen

Benutzerdefinierte Authentifizierungspakete müssen diese Funktionen implementieren, die von der lokalen Sicherheitsautorität (LSA ) aufgerufen werden. Diese Funktionen werden von den von Microsoft bereitgestellten MSV1_0- und Kerberos-Authentifizierungspaketen implementiert.

Funktion BESCHREIBUNG
LsaApCallPackage Wird aufgerufen, wenn der Bezeichner des Authentifizierungspakets in einem Aufruf von LsaCallAuthenticationPackage von einer Anwendung angegeben wurde, die eine vertrauenswürdige Verbindung verwendet.
Diese Funktion bietet eine Möglichkeit für Anmeldeanwendungen, direkt mit Authentifizierungspaketen zu kommunizieren.
LsaApCallPackagePassthrough Wird aufgerufen, wenn der Bezeichner des Authentifizierungspakets in einem Aufruf von LsaCallAuthenticationPackage für eine Passthrough-Anmeldeanforderung angegeben wurde.
LsaApCallPackageUntrusted Wird aufgerufen, wenn der Bezeichner des Authentifizierungspakets in einem Aufruf von LsaCallAuthenticationPackage von einer Anwendung angegeben wurde, die eine nicht vertrauenswürdige Verbindung verwendet. Diese Funktion wird für die Kommunikation mit Prozessen verwendet, die nicht über das SeTcbPrivilege-Recht verfügen.
LsaApInitializePackage Wird während der Systeminitialisierung aufgerufen, damit das Authentifizierungspaket Initialisierungsaufgaben ausführen kann.
LsaApLogonTerminated Wird aufgerufen, wenn eine Anmeldesitzung endet, damit das Authentifizierungspaket alle ressourcen freigibt, die für die Anmeldesitzung zugewiesen sind.
LsaApLogonUser Wird aufgerufen, wenn das Authentifizierungspaket in einem Aufruf von LsaLogonUser angegeben wurde. Diese Funktion authentifiziert die Anmeldedaten eines Sicherheitsprinzipals .
LsaApLogonUserEx Identisch mit LsaApLogonUser , mit der Ausnahme, dass der Arbeitsstationsname zu Überwachungszwecken zurückgegeben wird.
Ein Authentifizierungspaket kann LsaApLogonUser, LsaApLogonUserEx oder LsaApLogonUserEx2 implementieren. Sie müssen nicht alle implementieren.
LsaApLogonUserEx2 Identisch mit LsaApLogonUserEx , mit der Ausnahme, dass es die primären und zusätzlichen Anmeldeinformationen des Sicherheitsprinzipals zurückgibt. Ein Authentifizierungspaket kann LsaApLogonUser, LsaApLogonUserEx oder LsaApLogonUserEx2 implementieren. Sie müssen nicht alle implementieren.

Von Authentifizierungspaketen aufgerufene LSA-Funktionen

Die folgenden LSA-Funktionen ( Local Security Authority ) können aus einem benutzerdefinierten Authentifizierungspaket aufgerufen werden. Wenn der LSA LsaApInitializePackage aufruft, um das Paket zu initialisieren, übergibt er eine Tabelle mit Unterstützungsfunktionen.

Funktion BESCHREIBUNG
Hinzufügen von Anmeldeinformationen Fügt Anmeldeinformationen zu einer Anmeldesitzung hinzu.
AllocateClientBuffer Ordnet einen Puffer im Adressraum des Clients zu.
AllocateLsaHeap Weist Puffer zu, die vom Authentifizierungspaket an den LSA zurückgegeben werden müssen.
CopyFromClientBuffer Kopiert den Inhalt eines Puffers im Adressraum des Clients in einen lokalen Puffer.
CopyToClientBuffer Kopiert den Inhalt eines lokalen Puffers in den Adressraum des Clients.
CreateLogonSession Wird von Authentifizierungspaketen zum Erstellen einer Anmeldesitzung verwendet.
DeleteCredential Löscht vorhandene Anmeldeinformationen.
DeleteLogonSession Bereinigt alle Anmeldesitzungen, die erstellt werden, und bestimmt, ob die Authentifizierungsinformationen eines Benutzers legitim sind.
FreeClientBuffer Gibt einen Clientpuffer frei, der zuvor der Funktion AllocateClientBuffer zugeordnet wurde.
FreeLsaHeap Gibt Puffer frei, die zuvor mithilfe der Funktion AllocateLsaHeap zugewiesen wurden.
GetCredentials Ruft Anmeldeinformationen ab, die zuvor von AddCredential zwischengespeichert wurden.

Unterauthentifizierungsfunktionen

Die folgenden Unterauthentifizierungsfunktionen können von Microsoft bereitgestellten Authentifizierungspaketen aufgerufen werden, um zusätzliche, vom Benutzer erstellte Anmeldeauthentifizierung bereitzustellen.

Funktion BESCHREIBUNG
Msv1_0SubAuthenticationFilter Führt eine Benutzeranmeldungsauthentifizierung durch, die für Domänencontroller spezifisch ist.
Msv1_0SubAuthenticationRoutine Führt client-/serverspezifische Authentifizierung aus.

Verwaltungsfunktionen für Anmeldeinformationen

Die folgenden Themen enthalten Referenzinformationen zu den Verwaltungsfunktionen für Anmeldeinformationen.

Thema BESCHREIBUNG
Benutzeroberflächenfunktionen für die Verwaltung von Anmeldeinformationen Detailfunktionen, die für die Benutzeroberfläche für die Anmeldeinformationenverwaltung verwendet werden.
Verwaltungsfunktionen auf niedriger Ebene für Anmeldeinformationen Detailfunktionen, die für die Verwaltung von Anmeldeinformationen auf niedriger Ebene verwendet werden.
Benachrichtigungsfunktionen für die Verwaltung von Anmeldeinformationen Detailfunktionen, die von Anmeldeinformations-Managern implementiert werden, um Benachrichtigungen zu empfangen, wenn sich die Authentifizierungsinformationen ändern.

Benutzeroberflächenfunktionen für die Verwaltung von Anmeldeinformationen

Im Folgenden sind Funktionen der Anmeldeinformationenverwaltungsoberfläche aufgeführt.

Funktion BESCHREIBUNG
CredUICmdLinePromptForCredentials Fordern Sie Benutzeranmeldeinformationen von einem Benutzer an, der in einem Befehlszeilenprogramm arbeitet, und akzeptieren Sie diese.
CredUIConfirmCredentials Überprüfen Sie die Gültigkeit der von CredUIPromptForCredentials oder CredUICmdLinePromptForCredentials zurückgegebenen Anmeldeinformationen.
CredUIParseUserName Extrahieren Sie den Domänen- und Benutzerkontonamen aus einem vollqualifizierten Benutzernamen.
CredUIPromptForCredentials Zeigt ein Dialogfeld an, das Anmeldeinformationen eines Benutzers akzeptiert.
CredUIPromptForWindowsCredentials Erstellt und zeigt ein konfigurierbares Dialogfeld an, in dem Benutzer Informationen zu Anmeldeinformationen mithilfe eines auf dem lokalen Computer installierten Anmeldeinformationsanbieters bereitstellen können.
CredUIReadSSOCredW Ruft den Benutzernamen für einzelne Anmeldeinformationen ab.
CredUIStoreSSOCredW Speichert einzelne Anmeldeinformationen.

Verwaltungsfunktionen auf niedriger Ebene für Anmeldeinformationen

Im Folgenden sind Verwaltungsfunktionen für Anmeldeinformationen auf niedriger Ebene aufgeführt.

Funktion BESCHREIBUNG
CredDelete Löschen Sie Anmeldeinformationen aus den Anmeldeinformationen eines Benutzers.
CredEnumerate Listen Sie die Anmeldeinformationen in den Anmeldeinformationen eines Benutzers auf.
CredFindBestCredential Durchsucht die CredMan-Datenbank ( Credentials Management ) nach den generischen Anmeldeinformationen, die der aktuellen Anmeldesitzung zugeordnet sind und der angegebenen Zielressource am besten entsprechen.
CredFree Geben Sie den Arbeitsspeicher frei, der für einen Puffer verwendet wird, der von einer der Verwaltungsfunktionen für Anmeldeinformationen zurückgegeben wird.
CredGetSessionTypes Rufen Sie die maximale Persistenz ab, die von der aktuellen Anmeldesitzung unterstützt wird.
CredGetTargetInfo Ruft alle bekannten Zielnameninformationen für eine benannte Ressource ab.
CredIsMarshaledCredential Bestimmt, ob es sich bei einer angegebenen Benutzernamenzeichenfolge um gemarste Anmeldeinformationen handelt, die zuvor von CredMarshalCredential gemarst wurden.
CredIsProtected Gibt an, ob die angegebenen Anmeldeinformationen durch einen vorherigen Aufruf der CredProtect-Funktion verschlüsselt werden.
CredMarshalCredential Transformieren sie Anmeldeinformationen in eine Textzeichenfolge.
CredPackAuthenticationBuffer Konvertiert einen Zeichenfolgenbenutzernamen und ein Kennwort in einen Authentifizierungspuffer.
CredProtect Verschlüsselt die angegebenen Anmeldeinformationen, sodass nur der aktuelle Sicherheitskontext sie entschlüsseln kann.
CredRead Liest Anmeldeinformationen aus dem Anmeldeinformationssatz eines Benutzers.
CredReadDomainCredentials Liest die Domänenanmeldeinformationen aus den Anmeldeinformationen eines Benutzers.
CredRename Benennen Sie Anmeldeinformationen aus dem Anmeldeinformationssatz eines Benutzers um.
CredUnmarshalCredential Transformieren Sie eine gemarshallte Anmeldeinformationszeichenfolge wieder in ihre nichtmarshalierte Form.
CredUnPackAuthenticationBuffer Konvertiert einen Authentifizierungspuffer, der von einem Aufruf der CredUIPromptForWindowsCredentials-Funktion zurückgegeben wird, in einen Zeichenfolgenbenutzernamen und ein Kennwort.
CredUnprotect Entschlüsselt Anmeldeinformationen, die zuvor mit der Funktion CredProtect verschlüsselt wurden.
CredWrite Erstellen Sie neue Anmeldeinformationen, oder ändern Sie vorhandene Anmeldeinformationen im Anmeldeinformationssatz eines Benutzers.
CredWriteDomainCredentials Schreiben von Domänenanmeldeinformationen in die Anmeldeinformationen eines Benutzers.

Benachrichtigungsfunktionen für die Anmeldeinformationsverwaltung

Die folgenden Funktionen werden von Anmeldeinformations-Managern implementiert, um Benachrichtigungen zu erhalten, wenn sich Authentifizierungsinformationen ändern.

Funktion BESCHREIBUNG
NPLogonNotify MPR ruft diese Funktion auf, um den Anmeldeinformations-Manager zu benachrichtigen, dass ein Anmeldeereignis aufgetreten ist, sodass der Anmeldeinformations-Manager ein Anmeldeskript zurückgeben kann.
NPPasswordChangeNotify MPR ruft diese Funktion auf, um den Anmeldeinformations-Manager über ein Kennwortänderungsereignis zu benachrichtigen.

Smartcardfunktionen

Das Smartcard-SDK bietet die folgenden Funktionen.

Funktion BESCHREIBUNG
GetOpenCardName Ersetzt durch SCardUIDlgSelectCard, das das Dialogfeld smart Karte Karte auswählen anzeigt.
SCardAccessStartedEvent Ruft ein Ereignishandle ab, wenn der Start eines intelligenten Karte-Ressourcen-Managers signalisiert wird.
SCardAddReaderToGroup Fügt einer Lesergruppe einen Reader hinzu.
SCardAudit Schreibt Ereignismeldungen in das Windows-Anwendungsprotokoll Microsoft-Windows-SmartCard-Audit/Authentication.
SCardBeginTransaction Startet eine Transaktion.
SCardCancel Beendet alle ausstehenden Aktionen innerhalb eines Kontexts.
SCardCancelTransaction Für die zukünftige Verwendung reserviert.
SCardConnect Stellt eine Verbindung zwischen der aufrufenden Anwendung und einer intelligenten Karte her.
SCardControl Ruft die direkte Steuerung des Readers ab, nachdem SCardConnect aufgerufen wurde.
SCardDisconnect Beendet eine Verbindung zwischen der aufrufenden Anwendung und einer intelligenten Karte.
SCardEndTransaction Schließt eine Transaktion ab.
SCardEstablishContext Richtet einen Ressourcen-Manager-Kontext für den Zugriff auf die Smart Karte-Datenbank ein.
SCardForgetCardType Entfernt eine zuvor definierte intelligente Karte aus dem Smart Karte-Subsystem.
SCardForgetReader Entfernt einen zuvor definierten Reader aus dem Smart Karte-Subsystem.
SCardForgetReaderGroup Entfernt eine zuvor definierte Lesergruppe aus dem Smart Karte-Subsystem.
SCardFreeMemory Gibt den vom Ressourcen-Manager zugeordneten Arbeitsspeicher frei.
SCardGetAttrib Ruft die Attribute des aktuellen Lesers von einem bestimmten Reader, Treiber oder smarten Karte ab.
SCardGetCardTypeProviderName Ruft den Anbieternamen ab, der einem Karte Namen und Anbietertyp zugeordnet ist.
SCardGetDeviceTypeId Ruft den Gerätetypbezeichner des Karte Reader für den angegebenen Readernamen ab. Diese Funktion wirkt sich nicht auf den Zustand des Readers aus.
SCardGetProviderId Ruft den Bezeichner (GUID) des primären Dienstanbieters für eine intelligente Karte ab.
SCardGetReaderDeviceInstanceId Ruft den Geräte-instance Bezeichner des Karte-Readers für den angegebenen Readernamen ab. Diese Funktion wirkt sich nicht auf den Zustand des Readers aus.
SCardGetReaderIcon Ruft ein Symbol des intelligenten Karte-Readers für den Namen eines bestimmten Lesers ab.
SCardGetStatusChange Blockiert die Ausführung, bis sich status der Leser ändert.
SCardGetTransmitCount Ruft die Anzahl der Übertragungsvorgänge ab, die seit dem Einfügen des angegebenen Karte Reader abgeschlossen wurden.
SCardIntroduceCardType Führt eine neue intelligente Karte in das Subsystem smart Karte ein.
SCardIntroduceReader Führt einen neuen Reader in das Subsystem smart Karte ein.
SCardIntroduceReaderGroup Führt eine neue Lesergruppe in das Subsystem smart Karte ein.
SCardIsValidContext Überprüft ein intelligentes Karte-Kontexthandle.
SCardListCards Stellt eine Liste der Smartcards bereit, die bereits in das Subsystem eingeführt wurden.
SCardListInterfaces Stellt eine Liste der Schnittstellen bereit, die von einem bestimmten intelligenten Karte bereitgestellt werden.
SCardListReaderGroups Stellt eine Liste der Lesergruppen bereit, die bereits in das Subsystem eingeführt wurden.
SCardListReaders Stellt eine Liste der Leser bereit, die bereits in das Subsystem eingeführt wurden.
SCardListReadersWithDeviceInstanceId Ruft die Liste der Leser ab, die einen Geräte-instance-Bezeichner bereitgestellt haben. Diese Funktion wirkt sich nicht auf den Zustand des Readers aus.
SCardLocateCards Sucht die Karten, die einer bestimmten ATR-Zeichenfolge entsprechen.
SCardLocateCardsByATR Sucht die Karten, die einer bestimmten ATR-Zeichenfolge entsprechen.
SCardReadCache Ruft den Wertteil eines Name-Wert-Paars aus dem globalen Cache ab, der vom Smartcard-Resource Manager verwaltet wird.
SCardReconnect Stellt eine vorhandene Verbindung zwischen der aufrufenden Anwendung und dem intelligenten Karte wieder her.
SCardReleaseContext Schließt einen eingerichteten Ressourcen-Manager-Kontext.
SCardReleaseStartedEvent Verringert die Verweisanzahl für ein Handle, das mithilfe der SCardAccessStartedEvent-Funktion abgerufen wurde.
SCardRemoveReaderFromGroup Entfernt einen Reader aus einer vorhandenen Lesergruppe.
SCardSetAttrib Legt ein angegebenes Reader-Attribut fest.
SCardSetCardTypeProviderName Legt den Anbieternamen für einen Karte Namen und Anbietertyp fest.
SCardStatus Ruft den aktuellen Zustand eines Readers ab.
SCardTransmit Sendet eine Serviceanforderung an eine intelligente Karte.
SCardUIDlgSelectCard Zeigt das Dialogfeld Smart Karte Karte auswählen an.
SCardWriteCache Schreibt ein Name-Wert-Paar aus einem intelligenten Karte in den globalen Cache, der vom Smartcard-Resource Manager verwaltet wird.

SASL-Funktionen

Die Simple Authentication and Security Layer (SASL) bietet die folgenden Funktionen.

Functions BESCHREIBUNG
SaslAcceptSecurityContext Umschließt einen Standardaufruf der SSPI AcceptSecurityContext -Funktion (General) und schließt die Erstellung von SASL-Servercookies ein.
SaslEnumerateProfiles Listet die Pakete auf, die eine SASL-Schnittstelle bereitstellen.
SaslGetContextOption Ruft die angegebene Eigenschaft des angegebenen SASL-Kontexts ab.
SaslGetProfilePackage Gibt die Paketinformationen für das angegebene Paket zurück.
SaslIdentifyPackage Gibt das Aushandlungspräfix zurück, das dem angegebenen SASL-Aushandlungspuffer entspricht.
SaslInitializeSecurityContext Umschließt einen Standardaufruf der Funktion SSPI InitializeSecurityContext (Allgemein) und verarbeitet SASL-Servercookies vom Server.
SaslSetContextOption Legt den Wert der angegebenen Eigenschaft für den angegebenen SASL-Kontext fest.

Weitere Funktionen

Im Folgenden finden Sie weitere Funktionen, die für die Authentifizierung verwendet werden.

Funktion BESCHREIBUNG
AddSecurityPackage Fügt der Liste der von Microsoft Negotiate unterstützten Anbieter einen Sicherheitssupportanbieter hinzu.
ChangeAccountPassword Ändert das Kennwort für ein Windows-Domänenkonto mithilfe des angegebenen Sicherheitsunterstützungsanbieters.
CredMarshalTargetInfo Serialisiert das angegebene Ziel in ein Array von Bytewerten.
DeleteSecurityPackage Löscht einen Sicherheitssupportanbieter aus der Liste der von Microsoft Negotiate unterstützten Anbieter.
LsaManageSidNameMapping Fügt SID-/Namenszuordnungen aus dem beim LSA-Suchdienst registrierten Zuordnungssatz hinzu oder entfernt sie.
LsaOpenPolicy Öffnet ein Handle für das Policy-Objekt auf einem lokalen oder Remotesystem.
LsaQueryInformationPolicy Ruft Informationen zu einem Policy-Objekt ab.
LsaSetInformationPolicy Ändert Informationen in einem Policy-Objekt .
NPFMXEditPerm Ermöglicht Netzwerkanbietern die Bereitstellung eigener Dialogfelder für den Berechtigungs-Editor.
NPFMXGetPermCaps Ruft die Funktionen des Berechtigungs-Editors ab. Der Rückgabewert ist eine Bitmaske, die angibt, welche der Sicherheitsmenüelemente im Datei-Manager aktiviert werden sollen.
NPFMXGetPermHelp Ruft die Hilfedatei und den Hilfekontext der Dialogfelder des Berechtigungs-Editors ab, wenn ein Menüelement im Menü Sicherheit des Datei-Managers ausgewählt und F1 gedrückt wird.
SeciAllocateAndSetIPAddress Legt fest, dass die IP-Adresse des Aufrufers in Sicherheitsüberwachungsereignissen angezeigt wird.
SeciFreeCallContext Gibt den von SeciAllocateAndSetIPAddress zugeordneten Arbeitsspeicher frei.
SpGetCredUIContextFn Ruft Kontextinformationen von einem Anmeldeinformationsanbieter ab.
SpLsaModeInitialize Stellt dem LSA Zeiger auf die Funktionen bereit, die von jedem Sicherheitspaket in der SSP/AP-DLL implementiert werden.
SpQueryMetaDataFn Ruft Metadaten von einem Sicherheitsunterstützungsanbieter (Security Support Provider , SSP) ab, wenn ein Sicherheitskontext initiiert wird.
SpUpdateCredentialsFn Updates die Anmeldeinformationen, die dem angegebenen Kontext zugeordnet sind.
SspiCompareAuthIdentities Vergleicht die beiden angegebenen Anmeldeinformationen.
SspiCopyAuthIdentity Erstellt eine Kopie der angegebenen undurchsichtigen Anmeldeinformationsstruktur.
SspiDecryptAuthIdentity Entschlüsselt die angegebenen verschlüsselten Anmeldeinformationen.
SspiEncodeAuthIdentityAsStrings Codiert die angegebene Authentifizierungsidentität als drei Zeichenfolgen.
SspiEncodeStringsAsAuthIdentity Codiert einen Satz von drei Anmeldeinformationszeichenfolgen als Authentifizierungsidentitätsstruktur.
SspiEncryptAuthIdentity Verschlüsselt die angegebene Identitätsstruktur.
SspiExcludePackage Erstellt eine neue Identitätsstruktur, bei der es sich um eine Kopie der angegebenen Identitätsstruktur handelt, die geändert wurde, um den angegebenen Sicherheitsunterstützungsanbieter (Security Support Provider , SSP) auszuschließen.
SspiFreeAuthIdentity Gibt den für die angegebene Identitätsstruktur zugeordneten Arbeitsspeicher frei.
SspiGetCredUIContext Ruft Kontextinformationen von einem Anmeldeinformationsanbieter ab.
SspiGetTargetHostName Ruft den Hostnamen ab, der dem angegebenen Ziel zugeordnet ist.
SspiIsAuthIdentityEncrypted Gibt an, ob die angegebene Identitätsstruktur verschlüsselt ist.
SspiIsPromptingNeeded Gibt an, ob ein Fehler, der nach einem Aufruf der Funktion InitializeSecurityContext oder AcceptSecurityContext zurückgegeben wird, einen zusätzlichen Aufruf der Funktion SspiPromptForCredentials erfordert.
SspiLocalFree Gibt den arbeitsspeicher frei, der dem angegebenen Puffer zugeordnet ist.
SspiMarshalAuthIdentity Serialisiert die angegebene Identitätsstruktur in ein Bytearray.
SspiPrepareForCredRead Generiert einen Zielnamen und einen Anmeldeinformationstyp aus der angegebenen Identitätsstruktur.
SspiPrepareForCredWrite Generiert Werte aus einer Identitätsstruktur, die als Werte von Parametern in einem Aufruf der CredWrite-Funktion übergeben werden können.
SspiPromptForCredentials Ermöglicht einer SSPI-Anwendung (Security Support Provider Interface), einen Benutzer zur Eingabe von Anmeldeinformationen aufzufordern.
SspiUnmarshalAuthIdentity Deserialisiert das angegebene Array von Bytewerten in einer Identitätsstruktur.
SspiUnmarshalCredUIContext Deserialisiert Anmeldeinformationen, die von einem Anmeldeinformationsanbieter während eines vorherigen Aufrufs der ICredentialProvider::SetSerialization-Methode abgerufen wurden.
SspiUpdateCredentials Updates die Anmeldeinformationen, die dem angegebenen Kontext zugeordnet sind.
SspiValidateAuthIdentity Gibt an, ob die angegebene Identitätsstruktur gültig ist.
SspiZeroAuthIdentity Füllt den Speicherblock, der der angegebenen Identitätsstruktur zugeordnet ist, mit Nullen auf.
WlxQueryTsLogonCredentials Wird von einer GINA-Ersatz-DLL aufgerufen, um Anmeldeinformationen abzurufen, wenn Terminaldienste aktiviert sind. Die GINA-DLL kann diese Informationen dann verwenden, um automatisch ein Anmeldefeld auszufüllen und zu versuchen, den Benutzer anzumelden.