Freigeben über


LSA_GET_CREDENTIALS Rückruffunktion (ntsecpkg.h)

Ruft Anmeldeinformationen ab, die einer Anmeldesitzung zugeordnet sind.

Diese Funktion wird nicht von neueren Authentifizierungspaketen wie Kerberos verwendet.

Syntax

LSA_GET_CREDENTIALS LsaGetCredentials;

NTSTATUS LsaGetCredentials(
  [in]      PLUID LogonId,
  [in]      ULONG AuthenticationPackage,
  [in, out] PULONG QueryContext,
  [in]      BOOLEAN RetrieveAllCredentials,
  [in, out] PLSA_STRING PrimaryKeyValue,
  [out]     PULONG PrimaryKeyLength,
  [out]     PLSA_STRING Credentials
)
{...}

Parameter

[in] LogonId

Zeiger auf eine LUID-Struktur , die die Sitzungs-ID der Anmeldesitzung enthält, aus der Anmeldeinformationen abgerufen werden sollen.

[in] AuthenticationPackage

Authentifizierungspaket-ID des aufrufenden Authentifizierungspakets. Authentifizierungspakete sollten nur ihre eigenen Anmeldeinformationen abrufen.

[in, out] QueryContext

Zeiger auf einen nicht signierten LONG-Wert , der für mehrere Aufrufe verwendet wird, um mehrere Anmeldeinformationen abzurufen. Wenn diese Funktion zum ersten Mal verwendet wird, sollte der Wert, auf den dieses Argument verweist, null sein. Anschließend wird dieser Wert aktualisiert, sodass der Abruf dort fortgesetzt werden kann, wo er aufgehört hat. Dieser Wert sollte daher erst geändert werden, wenn alle Anmeldeinformationen eines bestimmten Abfragevorgangs abgerufen wurden.

[in] RetrieveAllCredentials

Gibt an, ob alle Anmeldeinformationen für die angegebene Anmeldesitzung abgerufen werden sollen (TRUE), oder nur die Anmeldeinformationen, die dem angegebenen PrimaryKeyValue (FALSE) entsprechen.

[in, out] PrimaryKeyValue

Dieser Parameter dient zwei Zwecken. Wenn der RetrieveAllCredentials-ParameterFALSE ist, enthält diese Zeichenfolge den Wert, der als primärer Nachschlageschlüssel verwendet werden soll. In diesem Fall werden nur Anmeldeinformationen abgerufen, die zur richtigen Anmeldesitzung mit einem primären Nachschlageschlüssel gehören, der diesem Wert entspricht.

Wenn RetrieveAllCredentialsTRUE ist, wird der Wert dieser Zeichenfolge bei der Eingabe ignoriert, und der primäre Nachschlageschlüssel aller abgerufenen Anmeldeinformationen wird in dieser Zeichenfolge zurückgegeben.

[out] PrimaryKeyLength

Wenn der RetrieveAllCredentials-ParameterTRUE ist, erhält dieser Parameter die Länge, die zum Speichern der PrimaryKeyValue-Zeichenfolge erforderlich ist.

[out] Credentials

Zeiger auf einen Puffer, der die abgerufenen Anmeldeinformationen empfängt. Für jeden getätigten Aufruf wird nur ein Anmeldeinformationen abgerufen. Die Anmeldeinformationen werden in einem Puffer zurückgegeben, den die Funktion durch Aufrufen der Funktion AllocateLsaHeap ordnet. Es liegt in der Verantwortung des Aufrufers, den Anmeldeinformationenpuffer freizugeben, wenn er nicht mehr benötigt wird, indem FreeLsaHeap aufgerufen wird.

Rückgabewert

Wenn die Funktion erfolgreich ist, gibt die Funktion den NTSTATUS-Code STATUS_SUCCESS zurück, der angibt, dass die Anmeldeinformationen erfolgreich abgerufen wurden.

Wenn die Funktion fehlschlägt, ist der Rückgabewert ein NTSTATUS-Code, der einer der folgenden Werte oder einer der Rückgabewerte der LSA-Richtlinienfunktion sein kann.

Rückgabecode Beschreibung
ERROR_GEN_FAILURE
Es sind keine weiteren Anmeldeinformationen verfügbar. Wenn dieser Code beim ersten Aufruf zurückgegeben wird, gibt es keine Anmeldeinformationen, die den Auswahlkriterien entsprechen.
STATUS_MORE_ENTRIES
Die für den Empfang des PrimaryKeyValue bereitgestellte Zeichenfolge war nicht groß genug, um die Daten aufzunehmen. In diesem Fall werden keine Daten abgerufen, und der QueryContext-Wert wird nicht geändert. Dadurch kann derselbe Aufruf mit einem größeren Zeichenfolgenpuffer erneut ausgeführt werden.
STATUS_NO_SUCH_LOGON_SESSION
Die angegebene Anmeldesitzung konnte nicht gefunden werden.
 

Die LsaNtStatusToWinError-Funktion konvertiert einen NTSTATUS-Code in einen Windows-Fehlercode.

Anforderungen

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

Weitere Informationen

LSA_DISPATCH_TABLE

LSA_SECPKG_FUNCTION_TABLE