Authentifizierungsfunktionen

Authentifizierungsfunktionen werden nach Verwendung wie folgt kategorisiert:

SSPI-Funktionen

Die Security Support Provider Interface-(SSPI-)Funktionen sind in die folgenden Hauptkategorien unterteilt.

Paketverwaltung

SSPI-Paketverwaltungsfunktionen initiieren ein Sicherheitspaket, listen verfügbare Pakete auf und fragen die Attribute eines Sicherheitspakets ab. 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 Security Support Provider-(SSP-)Verteilertabelle ab.
QuerySecurityPackageInfo Ruft Informationen zu einem angegebenen Sicherheitspaket ab. Diese Informationen umfassen die Grenzen für den Umfang von Authentifizierungsinformationen, Anmeldeinformationen und Kontexten.

Verwaltung von Anmeldeinformationen

SSPI-Anmeldeinformationsverwaltungsfunktionen 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 sind ü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 Anmeldeinformationshandle mit Kontextverwaltungsfunktionen, um einen Sicherheitskontext zu erstellen.

Die Anmeldeinformationsverwaltungsfunktionen geben auch Anmeldeinformationshandles frei und fragen die Attribute der Anmeldeinformationen ab. Derzeit ist der Name, der mit einer Anmeldeinformation verknüpft ist, das einzige Attribut, das abgefragt werden kann.

Die folgenden Funktionen werden mit der Anmeldeinformationsverwaltung verwendet.

Funktion Beschreibung
AcquireCredentialsHandle (General) Erwirbt ein Handle für die bereits vorhandenen Anmeldeinformationen eines angegebenen Prinzipals.
ExportSecurityContext Exportiert einen Sicherheitskontext in einen Kontextpuffer.
FreeCredentialsHandle Gibt ein Anmeldeinformationshandle und zugehörige Ressourcen frei.
ImportSecurityContext Importiert einen Sicherheitskontext, der mithilfe von ExportSecurityContext in den aktuellen Prozess exportiert wird.
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 der Client und der Server zusammen, um einen freigegebenen Sicherheitskontext zu erstellen. Sowohl der Client als auch der Server verwenden 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 ab, um auf seine Sicherheitsinhalte zuzugreifen.

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

Die folgenden Funktionen werden mit der Kontextverwaltung verwendet.

Funktion Beschreibung
AcceptSecurityContext (General) Wird von einem Server verwendet, um einen Sicherheitskontext basierend auf einer undurchsichtigen Nachricht zu erstellen, die von einem Client empfangen wurde.
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 überarbeiten müssen, nachdem die Transportanwendung einige Nachrichtenparameter aktualisiert hat.
DeleteSecurityContext Gibt einen Sicherheitskontext und zugehörige Ressourcen frei.
FreeContextBuffer Gibt einen Speicherpuffer frei, der durch ein Sicherheitspaket zugeordnet ist.
ImpersonateSecurityContext Imitiert den Sicherheitskontext vor, um dem System gegenüber als Client aufzutreten.
InitializeSecurityContext (General) Wird von einem Client verwendet, um einen Sicherheitskontext zu initiieren, indem eine undurchsichtige Nachricht generiert wird, die an einen Server übergeben wird.
QueryContextAttributes (General) 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 es einer Transportanwendung, Attribute eines Sicherheitskontextes für ein Sicherheitspaket festzulegen. Diese Funktion wird nur vom Schannel-Sicherheitspaket unterstützt.
RevertSecurityContext Ermöglicht einem Sicherheitspaket, den Identitätswechsel des Aufrufers einzustellen und seinen eigenen Sicherheitskontext wiederherzustellen.

Nachrichtensupport

SSPI-Nachrichtensupportfunktionen ermöglichen es einer Anwendung, manipulationssichere Nachrichten zu übertragen und zu empfangen sowie Nachrichten zu verschlüsseln und zu entschlüsseln. Diese Funktionen funktionieren 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 Datenstromkontext verwendet wird. Eine Beschreibung dieser Unterschiede finden Sie unter SSPI-Kontextsemantik.

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 die Signatur einer empfangenen Nachricht, die vom Absender mithilfe der MakeSignature-Funktion signiert wurde.

Von SSP/APs implementierte Funktionen

Die folgenden Funktionen werden von den Sicherheitspaketen, die in Security Support Provider/Authentifizierungspaketen (SSP/APs) enthalten sind, implementiert.

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

Die Lokale Sicherheitsautorität (Local Security Authority) greift auf diese Funktionen mithilfe der SECPKG_FUNCTION_TABLE-Struktur zu, die von der SSP/AP-Funktion SpLsaModeInitialize bereitgestellt wird.

Die folgenden Funktionen werden von allen Authentifizierungspaketen implementiert.

Funktion Beschreibung
LsaApCallPackage Wird von der Local Security Authority (LSA) aufgerufen, wenn eine Anmeldeanwendung mit einer vertrauenswürdigen Verbindung mit der LSA die Funktion LsaCallAuthenticationPackage aufruft und den Bezeichner des Authentifizierungspakets angibt.
LsaApCallPackagePassthrough Die Dispatch-Funktion für Passthrough-Anmeldeanforderungen, die an die Funktion LsaCallAuthenticationPackage gesendet werden
LsaApCallPackageUntrusted Wird von der Lokalen Sicherheitsautorität (LSA) aufgerufen, wenn eine Anwendung mit einer nicht vertrauenswürdigen Verbindung mit der LSA die Funktion LsaCallAuthenticationPackage aufruft und den Bezeichner des Authentifizierungspakets angibt.
LsaApInitializePackage Wird einmal von der lokalen Sicherheitsautorität (Local Security Authority, LSA) während der Systeminitialisierung aufgerufen, um das Authentifizierungspaket 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 Benutzeranmeldeversuch bei der ersten Anmeldung des Benutzers zu authentifizieren. Für den Benutzer wird eine neue Anmeldesitzung eingerichtet, und die Validierungsinformationen für den Benutzer werden zurückgegeben.

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

Funktion Beschreibung
SpAcceptCredentials Wird von der Lokalen Sicherheitsauthorität (Local Security Authority, LSA) aufgerufen, um das Sicherheitspaket an alle Anmeldeinformationen zu übergeben, die für den authentifizierten Dienstprinzipal gespeichert sind.
SpAcceptLsaModeContext Die Serververteilungsfunktion, die zum Erstellen eines von einem Server und Client freigegebenen Sicherheitskontexts verwendet 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 Sicherheitsautorität (Local Security Authority, LSA) aufgerufen.
SpDeleteContext Löscht einen Sicherheitskontext.
SpDeleteCredentials Löscht Anmeldeinformationen aus der Liste eines Sicherheitspakets mit primären oder ergänzenden Anmeldeinformationen.
SpFreeCredentialsHandle Gibt Anmeldeinformationen frei, die durch den Aufruf der SpAcquireCredentialsHandle-Funktion erhalten werden.
SpGetCredentials Ruft Benutzeranmeldeinformationen ab.
SpGetExtendedInformation Stellt erweiterte Informationen zu einem Sicherheitspaket bereit.
SpGetInfo Stellt allgemeine Informationen zum Sicherheitspaket bereit, z. B. den Namen und die Funktionen.
SpGetUserInfo Ruft Informationen zu einer Anmeldesitzung ab.
SPInitialize Wird von der Lokalen Sicherheitsautorität (LSA) aufgerufen, um ein Sicherheitspaket mit allgemeinen Sicherheitsinformationen und einer Verteilertabelle von Supportfunktionen bereitzustellen.
SpInitLsaModeContext Die Clientverteilungsfunktion, die verwendet wird, um einen Sicherheitskontext zwischen einem Server und einem Client herzustellen.
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 aus.
SslCrackCertificate Gibt eine X509Certificate-Struktur mit den Informationen zurück, die im angegebenen Zertifikat-BLOB enthalten sind.
SslEmptyCache Entfernt die angegebene Zeichenfolge aus dem Schannel-Cache.
SslFreeCertificate Gibt ein Zertifikat frei, das von einem vorherigen Aufruf der Funktion SslCrackCertificate zugewiesen wurde.

Von Benutzermodus-SSP/APs implementierte Funktionen

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

Ein SSP/AP gibt an, dass er die Benutzermodusfunktionen implementiert, indem er TRUE im MappedContext-Parameter der Funktionen SpInitLsaModeContext und SpAcceptLsaModeContext zurückgibt. Die SpInitLsaModeContext-Funktion wird von der Clientseite einer Transportebenenanwendung 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 von SSP/AP implementierten SpUserModeInitialize-Funktion gefunden und aufgerufen wird. Diese Funktion gibt eine Reihe von Tabellen zurück, die Zeiger auf die in jedem Sicherheitspaket implementierten Benutzermodusfunktionen enthalten.

Nachdem der SSP/AP in den Client- oder Serverprozess geladen wurde, kopiert die Local Security Authority (LSA) die Sicherheitskontextinformationen (zurückgegeben von SpInitLsaModeContext oder SpAcceptLsaModeContext) und alle zusätzlichen kontextbezogenen Daten für den Prozess und rufen die SpInitUserModeContext-Funktion des Sicherheitspakets auf.

Client-/Serveranwendungen greifen auf Benutzermodusfunktionen zu, indem sie Security Support Provider Interface-(SSPI-)Funktionen 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 Funktion SSPI CompleteAuthToken .
SpDeleteContext Löscht einen Sicherheitskontext.
Implementiert die SSPI-Funktion DeleteSecurityContext.
SpExportSecurityContext Exportiert einen Sicherheitskontext in einen anderen Prozess.
Implementiert die SSPI-Funktion ExportSecurityContext .
SpFormatCredentials Formatiert Anmeldeinformationen, die in einem Benutzerobjekt gespeichert werden sollen.
SpGetContextToken Ruft das Token zum Identitätswechsel ab.
Wird von der SSPI-Funktion ImpersonateSecurityContext verwendet.
SpImportSecurityContext Importiert einen Sicherheitskontext aus einem anderen Prozess.
Implementiert die SSPI-Funktion ImportSecurityContext .
SpInitUserModeContext Erstellt einen Sicherheitskontext aus einem gepackten Local Security Authority (LSA)-Moduskontext.
SpInstanceInit Initialisiert Sicherheitspakete für den Benutzermodus in einem SSP/AP.
SpMakeSignature Generiert eine Signatur, basierend auf dem angegebenen Nachrichten- und Sicherheitskontext.
Implementiert die SSPI-Funktion MakeSignature.
SpMarshallSupplementalCreds Konvertiert ergänzende 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-Funktion QueryContextAttributes (General).
SpSealMessage Verschlüsselt eine Nachricht, die zwischen einem Client und einem Server ausgetauscht wird.
Implementiert die SSPI-Funktion EncryptMessage (General).
SpUnsealMessage Entschlüsselt eine Nachricht, die zuvor mit der SpSealMessage-Funktion verschlüsselt wurde.
Implementiert die SSPI-Funktion DecryptMessage (General).
SpUserModeInitialize Wird aufgerufen, wenn eine Security Support Provider/Authentifizierungspaket (SSP/AP) DLL 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-Funktion VerifySignature .

Von SSP/APs aufgerufene LSA-Funktionen

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

Funktion Beschreibung
AddCredential Fügt Benutzeranmeldeinformationen hinzu.
AllocateClientBuffer Weist Speicher im Adressraum des Paketclients zu.
AllocateLsaHeap Belegt Speicher für den Heap. Einige an die LSA übergebene Informationen werden mit dieser Funktion zugeordnet.
CopyFromClientBuffer Kopiert Informationen aus dem Adressraum eines Clientprozesses in einen Puffer im aktuellen Prozess.
CopyToClientBuffer Kopiert Informationen aus dem Puffer im aktuellen Prozess in den Adressraum eines Clientprozesses.
CreateLogonSession Erstellt Anmeldesitzungen.
DeleteCredential Löscht Benutzeranmeldeinformationen.
DeleteLogonSession Löscht eine LSA-Anmeldesitzung.
FreeClientBuffer Gibt Speicher im Adressraum des Paketclients frei.
FreeLsaHeap Gibt einen Speicherblock frei, der zuvor von AllocateLsaHeap belegt wurde.
GetCredentials Ruft Anmeldeinformationen ab, die einer Anmeldesitzung zugeordnet sind.

Die folgenden Funktionen stehen den SSP/APs zur Verfügung.

Funktion Beschreibung
AllocateSharedMemory Weist einen Abschnitt des freigegebenen Speichers 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 weiteres Paket auf.
CallPackagePassthrough Ruft ein Sicherheitspaket aus einem anderen auf.
CancelNotification Die Benachrichtigung für spezielle Ereignisse wird abgebrochen.
ClientCallback Ermöglicht es einem Sicherheitspaket, eine Funktion im Clientprozess aufzurufen.
Einen Grundtyp der ClientCallback-Funktion finden Sie unter ClientCallback-Funktionsgrundtyp.
CloseSamUser Schließt ein Handle für einen Datenbankeintrag des Security Accounts Manager.
ConvertAuthDataToToken Konvertiert Autorisierungsdaten in ein Benutzertoken.
CrackSingleName Konvertiert einen Namen von einem Format in ein anderes.
CreateSharedMemory Erstellt einen Abschnitt des zwischen Clients und SSP/AP gemeinsam genutzten Arbeitsspeichers.
CreateThread Erstellt einen neuen Thread.
CreateToken Erstellt ein Token.
DeleteSharedMemory Löscht einen Abschnitt des freigegebenen Speichers.
DuplicateHandle Dupliziert einen Handle.
FreeReturnBuffer Gibt einen vom LSA zugewiesenen Puffer frei.
FreeSharedMemory Gibt einen Abschnitt des freigegebenen Speichers 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 Nicht implementiert
ImpersonateClient Wird von Sicherheitspaketen aufgerufen, um den Identitätswechsel des Paketbenutzers durchzuführen.
MapBuffer Ordnet eine SecBuffer-Struktur dem Adressraum des Authentifizierungspakets für denSecurity Support Provider/-Authentifizierungspaket (SSP/AP) zu.
OpenSamUser Ruft ein Handle zu einem Benutzerkonto in der Security Accounts Manager SAM-Datenbank ab.
RegisterNotification Stellt einen Mechanismus bereit, mit dem das Sicherheitspaket benachrichtigt wird. Benachrichtigungen können in festgelegten Intervallen, bei der Signalisierung eines Ereignisobjekts oder bei bestimmten Systemereignissen erfolgen.
SaveSupplementalCredentials Veraltet. Nicht verwenden..
UnloadPackage Entlädt ein Security Support Provider/-Authentifizierungspaket (SSP/AP).
UpdateCredentials Stellt einen Mechanismus für ein Sicherheitspaket bereit, um andere Pakete zu benachrichtigen, dass sich die Anmeldeinformationen für eine Anmeldesitzung geändert haben.

Von SSP/APs im Benutzermodus aufgerufene LSA-Funktionen

Ein Sicherheitspaket in einem Security Support Provider/-Authentifizierungspaket (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 Weist Speicher für Puffer zu, die an die lokale Sicherheitsautorität (LSA) zurückgegeben werden.
FreeHeap Gibt Arbeitsspeicher frei, der zuvor mithilfe von AllocateHeap zugeordnet 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, Informationen über die Sperre anzuzeigen, 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 an eine Zielsitzung zu übertragen.
WlxGetStatusMessage Winlogon ruft diese Funktion auf, um die Statusmeldung 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 Abmeldungsvorgang initiiert.
WlxLoggedOnSAS Winlogon ruft diese Funktion auf, wenn ein Secure Attention Sequence-(SAS-)Ereignis empfangen wird, während der Benutzer angemeldet ist und die Arbeitsstation nicht gesperrt ist.
WlxLoggedOutSAS Winlogon ruft diese Funktion auf, wenn ein Secure Attention Sequence-(SAS-)Ereignis empfangen wird, während kein Benutzer angemeldet ist.
WlxLogoff Winlogon ruft diese Funktion auf, um die GINA über einen Abmeldungsvorgang auf dieser Arbeitsstation zu benachrichtigen, sodass GINA alle möglicherweise erforderlichen Abmeldungsvorgänge ausführt.
WlxNegotiate Die WlxNegotiate-Funktion muss durch eine GINA-Ersatz-DLL implementiert werden. Dies ist der erste Aufruf von Winlogon an die GINA-DLL. Mit WlxNegotiate kann 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 Statusmeldung zu beenden.
WlxScreenSaverNotify Winlogon ruft diese Funktion unmittelbar vor dem Aktivieren eines Bildschirmschoners auf, sodass GINA mit dem Bildschirmschonerprogramm interagieren kann.
WlxShutdown Winlogon ruft diese Funktion direkt vor dem Herunterfahren auf, sodass GINA alle Aufgaben für das Herunterfahren ausführen kann, z. B. das Auswerfen einer Smartcard aus einem Lesegerät.
WlxStartApplication Winlogon ruft diese Funktion auf, wenn das System erfordert, dass eine Anwendung im Kontext des Benutzers gestartet wird.
WlxWkstaLockedSAS Winlogon ruft diese Funktion auf, wenn ein Secure Attention Sequence (SAS) empfangen wird und die Arbeitsstation gesperrt ist.

Anmeldebenutzerfunktionen

Die folgenden Funktionen ermöglichen die Anmeldung eines Benutzers.

Funktion Beschreibung
LogonUser Versucht, einen Benutzer am lokalen Computer anzumelden.
LogonUserEx Versucht, einen Benutzer am lokalen Computer anzumelden. Diese Funktion ist eine erweiterte Version der LogonUser-Funktion und ruft Informationen zum Sicherheitsbezeichner (SID), das Profil und die Kontingentbeschränkungen des Benutzers ab.
LogonUserExExW Die LogonUserExW-Funktion versucht, einen Benutzer auf dem lokalen Computer anzumelden. Diese Funktion wird nicht in einem öffentlichen Header deklariert und weist keine zugehörige Importbibliothek auf. Sie müssen die Funktionen LoadLibrary und GetProcAddress verwenden, um dynamisch eine Verknüpfung mit Advapi32.dll herzustellen.

Winlogon-Unterstützungsfunktionen

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 diesen nach dem Schließen zu bereinigen.
WlxCreateUserDesktop Wird von GINA aufgerufen, um alternative Anwendungsdesktops für den Benutzer zu erstellen.
WlxDialogBox Wird von GINA aufgerufen, um ein modales Dialogfeld aus einer Dialogfeldvorlage zu erstellen.
WlxDialogBoxIndirect Wird von GINA aufgerufen, um ein modales Dialogfeld aus einer Dialogfeldvorlage im Speicher zu erstellen.
WlxDialogBoxIndirectParam Wird von GINA aufgerufen, um Dialogfeld-Steuerelemente zu initialisieren und dann ein modales Dialogfeld aus einer Dialogfeldvorlage im Arbeitsspeicher zu erstellen.
WlxDialogBoxParam Wird von GINA aufgerufen, um Dialogfeld-Steuerelemente zu initialisieren und dann ein modales Dialogfeld aus einer Dialogfeldvorlagen-Ressource zu erstellen.
WlxDisconnect Wird von einer Ersatz-GINA-DLL aufgerufen, wenn Terminaldienste aktiviert sind. GINA ruft diese Funktion auf, um eine 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 den Handle des Desktops zu ermitteln, der aktuell war, bevor Winlogon zum Winlogon-Desktop gewechselt hat.
WlxMessageBox Wird von GINA aufgerufen, um ein Meldungsfeld zu erstellen, anzuzeigen und zu betreiben.
WlxQueryClientCredentials Wird von einer Ersatz-GINA-DLL aufgerufen, wenn Terminaldienste aktiviert sind. GINA ruft diese Funktion auf, um die Anmeldeinformationen von Remote-Terminaldienst-Clients abzurufen, die keine Internet-Connector-Lizenz verwenden.
WlxQueryConsoleSwitchCredentials Wird von GINA aufgerufen, um die Anmeldeinformationen zu lesen, die von Winlogon der temporären Sitzung an Zielsitzungs-Winlogon übertragen wurden.
WlxQueryInetConnectorCredentials Wird von einer Ersatz-GINA-DLL aufgerufen, wenn Terminaldienste aktiviert sind. GINA ruft diese Funktion auf, um zu bestimmen, ob der Terminalserver die Internet-Connector-Lizenzierung verwendet, und um die Anmeldeinformationen abzurufen.
WlxQueryTerminalServicesData Wird von GINA aufgerufen, um Benutzerkonfigurationsinformationen für Terminaldienste abzurufen, nachdem sich ein Benutzer angemeldet hat.
WlxSasNotify Wird von GINA aufgerufen, um Winlogon eines Secure Attention Sequence-(SAS)-Ereignisses zu benachrichtigen.
WlxSetContextPointer Wird von GINA aufgerufen, um den Kontextzeiger anzugeben, der von Winlogon als erster Parameter für alle zukünftigen Aufrufe von GINA-Funktionen übergeben wird.
WlxSetOption Wird von GINA aufgerufen, um den Wert einer Option festzulegen.
WlxSetReturnDesktop Wird von GINA aufgerufen, um den alternativen Anwendungsdesktop anzugeben, zu dem Winlogon wechseln wird, wenn die aktuelle Secure Attention Sequence-(SAS-)Ereignisverarbeitungsfunktion abgeschlossen ist.
WlxSetTimeout Wird von GINA aufgerufen, um das einem Dialogfeld zugeordnete Timeout zu ändern. Das Standardtimeout beträgt zwei Minuten.
WlxSwitchDesktopToUser Wird von GINA aufgerufen, um zum Anwendungsdesktop zu wechseln.
WlxSwitchDesktopToWinlogon Lässt den GINA-DLL-Wechsel zum Winlogon-Desktop zu.
WlxUseCtrlAltDel Wird von GINA aufgerufen, um Winlogon mitzuteilen, die Standardkombination STRG+ALT+ENTF als eine Secure Attention Sequence (SAS) zu verwenden.
WlxWin31Migrate Wird von einer Ersatz-GINA-DLL aufgerufen, wenn Terminaldienste aktiviert sind. GINA ruft diese Funktion auf, um die Einrichtung des Terminaldienste-Clients abzuschließen.

Netzwerkanbieterfunktionen

Die folgenden Themen enthalten Referenzinformationen für die Netzwerkanbieterfunktionen.

Thema Beschreibung
Von Netzwerkanbietern implementierte Funktionen Detailfunktionen, die von Netzwerkanbietern implementiert werden können.
Supportfunktionen Details einer Funktion, die vom Betriebssystem implementiert wird und von Netzwerkanbietern aufgerufen werden kann.
Funktionen für Verbindungsbenachrichtigungen Detailfunktionen, die von Anwendungen implementiert werden, die Benachrichtigungen vom Multiple Provider Router (MPR) erhalten müssen, wenn eine Verbindung zu einer Netzwerkressource hergestellt oder getrennt wird.

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 zurzeit 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 verwendet werden, die derzeit verbunden ist.
NPGetDirectoryType Bestimmt den Typ eines Netzwerkverzeichnisses.
NPGetPropertyText Ruft die Namen der Schaltflächen ab, die einem Eigenschaftendialogfeld für eine Netzwerkressource hinzugefügt werden sollen.
NPGetResourceInformation Trennt den Teil einer Netzwerkressource, auf den über die WNet-API zugegriffen wird, von dem Teil, auf den über APIs zugegriffen wird, die für den Ressourcentyp spezifisch sind.
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 abzurufen.
NPPropertyDialog Wird aufgerufen, wenn der Benutzer auf eine Schaltfläche klickt, die mithilfe der NPPropertyDialog-Funktion hinzugefügt wird. Die NPPropertyDialog-Funktion wird nur für Datei- und Verzeichnisnetzwerkeigenschaften aufgerufen.
NPSearchDialog Ermöglicht Netzwerkverkäufern, ihr eigenes Suchformular bereitzustellen, das über die hierarchische Ansicht im DialogfeldVerbindung angezeigt wird.

Supportfunktionen

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.

Funktionen für Verbindungsbenachrichtigungen

Die folgenden Funktionen werden von den Anwendungen implementiert, die Benachrichtigungen vom Multiple Provider Router (MPR) erhalten müssen, wenn eine Verbindung zu einer Netzwerkressource hergestellt 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 Hinzufügen von Verbindungsvorgängen (WNetAddConnection, WNetAddConnection2 und WNetAddConnection3) aufgerufen.
CancelConnectNotify Wird vor und nach jedem Abbruchverbindungsvorgang (WNetCancelConnection oder WNetCancelConnection2) aufgerufen.

LSA-Anmeldefunktionen

Die folgenden Authentifizierungsfunktionen der lokalen Sicherheitsauthorität (LSA) authentifizieren und melden Benutzer an und stellen Anmeldesitzungsinformationen bereit.

Funktion Beschreibung
LsaCallAuthenticationPackage Fordert einen paketspezifischen Dienst von einem Authentifizierungspaket an.
LsaConnectUntrusted Stellt eine nicht vertrauenswürdige Verbindung mit der LSA her.
LsaDeregisterLogonProcess Trennt die Verbindung mit der 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 den einem Puffer zugewiesenen Speicher frei, der an einen Aufrufer zurückgegeben wird.
LsaGetLogonSessionData Ruft Informationen zu einer angegebenen Anmeldesitzung ab.
LsaLogonUser Authentifiziert Benutzeranmeldedaten für gespeicherte Anmeldeinformationen. Bei erfolgreicher Ausführung wird eine neue Anmeldesitzung erstellt und ein Benutzertoken zurückgegeben.
LsaLookupAuthenticationPackage Ruft die eindeutige Kennung eines Authentifizierungspakets ab.
LsaQueryDomainInformationPolicy Ruft Domäneninformationen aus dem Policy-Objekt ab.
LsaQueryForestTrustInformation Ruft Vertrauensinformationen für die Gesamtstruktur für das angegebene Local Security Authority TrustedDomain-Objekt 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 für die Gesamtstruktur für ein angegebene Local Security Authority TrustedDomain-Objekt fest.

Von Authentifizierungspaketen implementierte Funktionen

Benutzerdefinierte Authentifizierungspakete müssen diese Funktionen implementieren, die von der lokalen Sicherheitsauthoritä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 die direkte Kommunikation mit Authentifizierungspaketen für Anmeldeanwendungen.
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 die SeTcbPrivilege-Berechtigung 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 für die Anmeldesitzung zugewiesenen Ressourcen freigeben kann.
LsaApLogonUser Wird aufgerufen, wenn das Authentifizierungspaket in einem Aufruf von LsaLogonUser angegeben wurde. Diese Funktion authentifiziert die Anmeldedaten eines Sicherheitsprinzipals.
LsaApLogonUserEx Identisch mit LsaApLogonUser, außer dass dabei der Arbeitsstationsname für Überwachungszwecke zurückgegeben wird.
Ein Authentifizierungspaket kann LsaApLogonUser, LsaApLogonUserEx oder LsaApLogonUserEx2 implementieren. Es müssen nicht alle implementiert werden.
LsaApLogonUserEx2 Identisch mit LsaApLogonUserEx, mit der Ausnahme, dass die primären und ergänzenden Anmeldeinformationen des Sicherheitsprinzipals zurückgegeben werden. Ein Authentifizierungspaket kann LsaApLogonUser, LsaApLogonUserEx oder LsaApLogonUserEx2 implementieren. Es müssen nicht alle implementiert werden.

Von Authentifizierungspaketen aufgerufene LSA-Funktionen

Die folgenden Funktionen der lokalen Sicherheitsauthorität (LSA) können über ein benutzerdefiniertes Authentifizierungspaket aufgerufen werden. Wenn die LSA LsaApInitializePackage zum Initialisieren des Pakets aufruft, wird eine Tabelle mit Unterstützungsfunktionen übergeben.

Funktion Beschreibung
AddCredential Fügt einer Anmeldesitzung Anmeldeinformationen hinzu.
AllocateClientBuffer Weist einen Puffer im Adressraum des Clients zu.
AllocateLsaHeap Weist Puffer zu, die vom Authentifizierungspaket an die LSA zurückgegeben werden müssen.
CopyFromClientBuffer Kopiert den Inhalt eines Puffers im Adressbereich des Clients in einen lokalen Puffer.
CopyToClientBuffer Kopiert den Inhalt eines lokalen Puffers in den Adressbereich des Clients.
CreateLogonSession Wird von Authentifizierungspaketen zum Erstellen einer Anmeldesitzung verwendet.
DeleteCredential Löscht eine vorhandene Anmeldeinformation.
DeleteLogonSession Bereinigt alle Anmeldesitzungen, die erstellt wurden, und bestimmt, ob die Authentifizierungsinformationen eines Benutzers legitim sind.
FreeClientBuffer Gibt einen Clientpuffer frei, der zuvor mit der AllocateClientBuffer-Funktion zugewiesen 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 durch Microsoft bereitgestellte Authentifizierungspakete aufgerufen werden, um eine zusätzliche, vom Benutzer erstellte Anmeldeauthentifizierung bereitzustellen.

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

Funktionen zur Anmeldeinformationsverwaltung

Die folgenden Themen enthalten Referenzinformationen für die Anmeldeinformationsverwaltungsfunktionen.

Thema Beschreibung
UI-Funktionen zur Anmeldeinformationsverwaltung Detailfunktionen, die für die Anmeldeinformationsverwaltungs-UI verwendet werden.
Verwaltung von Anmeldeinformationen auf niedriger Ebene Detailfunktionen, die für die Verwaltung von Anmeldeinformationen auf niedriger Ebene verwendet werden.
Benachrichtigungsfunktionen für die Anmeldeinformationsverwaltung Detailfunktionen, die von Anmeldeinformations-Managern implementiert werden, um Benachrichtigungen bei Änderungen der Authentifizierungsinformationen zu erhalten.

UI-Funktionen zur Anmeldeinformationsverwaltung

Im Folgenden sind die UI-Funktionen für die Anmeldeinformationenverwaltung aufgeführt.

Funktion Beschreibung
CredUICmdLinePromptForCredentials Fordern Sie von einem Benutzer, der in einem Befehlszeilenprogramm arbeitet, Anmeldeinformationen an, und akzeptieren Sie diese.
CredUIConfirmCredentials Bestätigen 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 Anzeigen eines Dialogfelds, in dem Anmeldeinformationen von einem Benutzer akzeptiert werden.
CredUIPromptForWindowsCredentials Erstellt und zeigt ein konfigurierbares Dialogfeld an, in dem Benutzer Anmeldeinformationen mithilfe eines auf dem lokalen Computer installierten Anmeldeinformationsanbieters bereitstellen können.
CredUIReadSSOCredW Ruft den Benutzernamen für einzelne Anmeldeinformationen ab.
CredUIStoreSSOCredW Speichert Anmeldeinformationen.

Verwaltung von Anmeldeinformationen auf niedriger Ebene

Nachfolgend sind die Verwaltungsfunktionen für Anmeldeinformationen auf niedriger Ebene aufgeführt.

Funktion Beschreibung
CredDelete Löscht einzelne Anmeldeinformationen aus dem Anmeldeinformationssatz eines Benutzers.
CredEnumerate Listet die Anmeldeinformationen im Anmeldeinformationssatz eines Benutzers auf.
CredFindBestCredential Durchsucht die Verwaltungsdatenbank für Anmeldeinformationen (CredMan) nach der Gruppe generischer Anmeldeinformationen, die der aktuellen Anmeldesitzung zugeordnet sind und die am besten mit der angegebenen Zielressource übereinstimmen.
CredFree Gibt den einen für einen Puffer verwendeten Arbeitsspeicher frei, der von einer der Anmeldeinformationsverwaltungsfunktionen zurückgegeben wird.
CredGetSessionTypes Ruft 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 einzelne gemarshallte Anmeldeinformationen handelt, für die zuvor von CredMarshalCredential ein Marshalling ausgeführt wurde.
CredIsProtected Gibt an, ob die angegebenen Anmeldeinformationen durch einen vorherigen Aufruf der CredProtect-Funktion verschlüsselt werden.
CredMarshalCredential Transformiert einzelne Anmeldeinformationen in eine Textzeichenfolge.
CredPackAuthenticationBuffer Wandelt einen Zeichenfolgenbenutzernamen und ein Kennwort in einen Authentifizierungspuffer um.
CredProtect Verschlüsselt die angegebenen Anmeldeinformationen, sodass sie nur vom aktuellen Sicherheitskontext entschlüsselt werden können.
CredRead Liest die Anmeldeinformationen aus dem Anmeldeinformationssatz eines Benutzers.
CredReadDomainCredentials Liest die Domänenanmeldeinformationen aus dem Anmeldeinformationssatz eines Benutzers.
CredRename Nennt einzelne Anmeldeinformationen aus dem Anmeldeinformationssatz eines Benutzers um.
CredUnmarshalCredential Transformiert eine gemarshallte Anmeldeinformationszeichenfolge wieder in ihre nicht gemarshallte Form.
CredUnPackAuthenticationBuffer Wandelt einen Authentifizierungspuffer, der von einem Aufruf der CredUIPromptForWindowsCredentials-Funktion zurückgegeben wird, in einen Zeichenfolgenbenutzernamen und ein Kennwort um.
CredUnprotect Entschlüsselt Anmeldeinformationen, die zuvor mithilfe der CredProtect-Funktion verschlüsselt wurden.
CredWrite Erstellt neue Anmeldeinformationen oder ändert vorhandene Anmeldeinformationen im Anmeldeinformationssatz eines Benutzers.
CredWriteDomainCredentials Schreibt Domänenanmeldeinformationen in den Anmeldeinformationssatz eines Benutzers.

Benachrichtigungsfunktionen für die Anmeldeinformationsverwaltung

Die folgenden Funktionen werden von den Anmeldeinformations-Managern implementiert, um Benachrichtigungen bei Änderungen der Authentifizierungsinformationen zu erhalten.

Funktion Beschreibung
NPLogonNotify MPR ruft diese Funktion auf, um den Anmeldeinformations-Manager zu benachrichtigen, dass ein Anmeldeereignis aufgetreten ist, sodass dieser 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 stellt die folgenden Funktionen bereit.

Funktion Beschreibung
GetOpenCardName Wird ersetzt durch SCardUIDlgSelectCard, das das Dialogfeld Smartcard auswählen anzeigt.
SCardAccessStartedEvent Ruft ein Ereignishandle ab, wenn der Start eines Smartcard-Ressourcen-Managers signalisiert wird.
SCardAddReaderToGroup Fügt einer Lesergruppe ein Lesegerät 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 Smartcard her.
SCardControl Ruft die direkte Steuerung des Lesegeräts ab, nachdem SCardConnect aufgerufen wurde.
SCardDisconnect Trennt eine Verbindung zwischen der aufrufenden Anwendung und einer Smartcard.
SCardEndTransaction Schließt eine Transaktion ab.
SCardEstablishContext Richtet einen Ressourcen-Manager-Kontext für den Zugriff auf die Smartcarddatenbank ein.
SCardForgetCardType Entfernt eine zuvor definierte Smartcard aus dem Smartcard-Subsystem.
SCardForgetReader Entfernt ein zuvor definiertes Lesegerät aus dem Smartcard-Subsystem.
SCardForgetReaderGroup Entfernt eine zuvor definierte Lesegerätgruppe aus dem Smartcard-Subsystem.
SCardFreeMemory Gibt den vom Ressourcen-Manager zugeordneten Arbeitsspeicher frei.
SCardGetAttrib Ruft die Attribute des aktuellen Lesegeräts von einem bestimmten Lesegerät, Treiber oder einer Smartcard ab.
SCardGetCardTypeProviderName Ruft den Anbieternamen ab, der einem Kartennamen und einem Anbietertyp zugeordnet ist.
SCardGetDeviceTypeId Ruft den Gerätetypbezeichner des Kartenlesegeräts für den angegebenen Lesegerätnamen ab. Diese Funktion wirkt sich nicht auf den Status des Lesegeräts aus.
SCardGetProviderId Ruft den Bezeichner (GUID) des primären Dienstanbieters für eine Smartcard ab.
SCardGetReaderDeviceInstanceId Ruft die Gerätetypinstanz des Kartenlesegeräts für den angegebenen Lesegerätnamen ab. Diese Funktion wirkt sich nicht auf den Status des Lesegeräts aus.
SCardGetReaderIcon Ruft ein Symbol des Smartcard-Lesegeräts für den Namen eines bestimmten Lesegeräts ab.
SCardGetStatusChange Blockiert die Ausführung, bis sich der Status der Lesegeräte ändert.
SCardGetTransmitCount Ruft die Anzahl der Übertragungsvorgänge ab, die seit dem Einfügen des angegebenen Kartenlesegeräts abgeschlossen wurden.
SCardIntroduceCardType Führt eine neue Smartcard in das Smartcard-Subsystem ein.
SCardIntroduceReader Führt ein neues Lesegerät in das Smartcard-Subsystem ein.
SCardIntroduceReaderGroup Führt eine neue Lesegerätgruppe in das Smartcard-Subsystem ein.
SCardIsValidContext Überprüft ein Smartcard-Kontexthandle.
SCardListCards Stellt eine Liste der Smartcards bereit, die bereits im Subsystem eingeführt wurden.
SCardListInterfaces Stellt eine Liste der Schnittstellen bereit, die von einer bestimmten Smartcard bereitgestellt werden.
SCardListReaderGroups Stellt eine Liste der Lesegerätgruppen bereit, die bereits im Subsystem eingeführt wurden.
SCardListReaders Stellt eine Liste der Lesegeräte bereit, die bereits im Subsystem eingeführt wurden.
SCardListReadersWithDeviceInstanceId Ruft die Liste der Lesegeräte ab, die einen Geräteinstanzbezeichner bereitgestellt haben. Diese Funktion wirkt sich nicht auf den Status des Lesegeräts aus.
SCardLocateCards Sucht die Karten, die mit einer bestimmten ATR-Zeichenfolge übereinstimmen.
SCardLocateCardsByATR Sucht die Karten, die mit einer bestimmten ATR-Zeichenfolge übereinstimmen.
SCardReadCache Ruft den Wertteil eines Namens-Wert-Paars aus dem globalen Cache ab, der vom SmartCard-Ressourcenmanager verwaltet wird.
SCardReconnect Erstellt eine vorhandene Verbindung aus der aufrufenden Anwendung mit der Smartcard wieder her.
SCardReleaseContext Schließt einen eingerichteten Ressourcenmanager-Kontext.
SCardReleaseStartedEvent Erhöht die Referenzanzahl für ein Handle, das mithilfe der Funktion SCardAccessStartedEvent abgerufen wird.
SCardRemoveReaderFromGroup Entfernt ein Lesegerät aus einer vorhandenen Lesegerätgruppe.
SCardSetAttrib Legt ein bestimmtes Lesegerätattribut fest.
SCardSetCardTypeProviderName Legt den Anbieternamen für einen Kartennamen und einen Anbietertyp fest.
SCardStatus Ruft den aktuellen Status eines Lesegeräts ab.
SCardTransmit Sendet eine Serviceanfrage an eine Smartcard.
SCardUIDlgSelectCard Zeigt das Dialogfeld Karte auswählen an.
SCardWriteCache Schreibt ein Name-Wert-Paar aus einer Smartcard in den globalen Cache, der vom SmartCard-Ressourcenmanager verwaltet wird.

SASL-Funktionen

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

Functions Beschreibung
SaslAcceptSecurityContext Umschließt einen Standardaufruf an die SSPI AcceptSecurityContext (General)-Funktion 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 Diese gibt die Paketinformationen für das angegebenen Paket zurück.
SaslIdentifyPackage Gibt das Aushandlungspräfix zurück, das dem angegebenen SASL-Aushandlungspuffer entspricht.
SaslInitializeSecurityContext Umschließt einen Standardaufruf an die SSPI InitializeSecurityContext (General)-Funktion und verarbeitet SASL-Servercookies vom Server.
SaslSetContextOption Legt den Wert der angegebenen Eigenschaft für den angegebenen SASL-Kontext fest.

Weitere Funktionen

Hier sind weitere Funktionen, die für die Authentifizierung verwendet werden.

Funktion Beschreibung
AddSecurityPackage Fügt einen Sicherheitssupportanbieter (SSP) der Liste der von Microsoft Negotiate unterstützten Anbieter hinzu.
ChangeAccountPassword Ändert das Kennwort für ein Windows-Domänenkonto mithilfe des angegebenen Sicherheitssupportanbieters.
CredMarshalTargetInfo Serialisiert das angegebene Ziel in ein Array von Bytewerten.
DeleteSecurityPackage Löscht einen Sicherheitssupportanbieter (SSP) aus der Liste der von Microsoft Negotiate unterstützten Anbieter.
LsaManageSidNameMapping Fügt SID-/Namenszuordnungen aus dem Zuordnungssatz hinzu, der beim LSA-Nachschlagedienst registriert ist, 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 Berechtigungs-Editor-Dialogfelder.
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 ist und F1 gedrückt wird.
SeciAllocateAndSetIPAddress Legt die IP-Adresse des Anrufers fest, die in Sicherheitsüberwachungsereignissen angezeigt wird.
SeciFreeCallContext Gibt den von SeciAllocateAndSetIPAddress zugewiesenen Speicher frei.
SpGetCredUIContextFn Ruft Kontextinformationen von einem Anmeldeinformationsanbieter ab.
SpLsaModeInitialize Stellt die LSA mit Zeigern auf die Funktionen bereit, die von jedem Sicherheitspaket in der SSP/AP-DLL implementiert werden.
SpQueryMetaDataFn Ruft Metadaten von einem Sicherheitssupportanbieter (SSP) ab, wenn er einen Sicherheitskontext initiiert.
SpUpdateCredentialsFn Aktualisiert 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 eine Reihe von drei Anmeldeinformationszeichenfolgen als Authentifizierungsidentitätsstruktur.
SspiEncryptAuthIdentity Verschlüsselt die angegebene Identitätsstruktur.
SspiExcludePackage Erstellt eine neue Identitätsstruktur, die eine Kopie der angegebenen geänderten Identitätsstruktur ist, um den angegebenen Sicherheitssupportanbieter (SSP) auszuschließen.
SspiFreeAuthIdentity Gibt den für die angegebene Identitätsstruktur zugewiesenen Speicher 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 nach einem Aufruf an InitializeSecurityContext oder AcceptSecurityContext ein Fehler zurückgegeben wurde, der einen zusätzlichen Aufruf an die SspiPromptForCredentials-Funktion erfordert.
SspiLocalFree Gibt den Speicher 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 Parameterwerte in einem Aufruf der CredWrite-Funktion übergeben werden kann.
SspiPromptForCredentials Ermöglicht es einer Sicherheitssupportanbieter-Schnittstelle-(SSPI-)Anwendung, einen Benutzer aufzufordern, Anmeldeinformationen einzugeben.
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 Aktualisiert die Anmeldeinformationen, die dem angegebenen Kontext zugeordnet sind.
SspiValidateAuthIdentity Gibt an, ob die angegebene Identitätsstruktur gültig ist.
SspiZeroAuthIdentity Füllt den Speicherblock aus, der der angegebenen Identitätsstruktur mit Nullen zugeordnet ist.
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 den Benutzer anzumelden.