Freigeben über


SpAcquireCredentialsHandleFn-Rückruffunktion (ntsecpkg.h)

Wird aufgerufen, um ein Handle für die Anmeldeinformationen eines Prinzipals abzurufen. Das Sicherheitspaket kann dem Aufrufer den Zugriff verweigern, wenn der Aufrufer nicht über die Berechtigung für den Zugriff auf die Anmeldeinformationen verfügt.

Wenn das Anmeldeinformationshandle an den Aufrufer zurückgegeben wird, sollte das Paket auch eine Ablaufzeit für das Handle angeben.

Syntax

SpAcquireCredentialsHandleFn Spacquirecredentialshandlefn;

NTSTATUS Spacquirecredentialshandlefn(
  [in]  PUNICODE_STRING PrincipalName,
  [in]  ULONG CredentialUseFlags,
  [in]  PLUID LogonId,
  [in]  PVOID AuthorizationData,
        PVOID GetKeyFunciton,
  [in]  PVOID GetKeyArgument,
  [out] PLSA_SEC_HANDLE CredentialHandle,
  [out] PTimeStamp ExpirationTime
)
{...}

Parameter

[in] PrincipalName

Optional. Zeiger auf eine UNICODE_STRING-Struktur , die den Namen des Sicherheitsprinzipals enthält, dessen Anmeldeinformationen angefordert werden. Wenn dieser Wert NULL ist, fordert der Aufrufer ein Handle für die Anmeldeinformationen des Benutzers an, in dessen Sicherheitskontext der Aufrufer ausgeführt wird.

[in] CredentialUseFlags

Flags, die angeben, wie die Anmeldeinformationen verwendet werden. Die folgenden Werte sind gültig.

Wert Bedeutung
SECPKG_CRED_INBOUND
Anmeldeinformationen werden mit der Funktion AcceptSecurityContext (Allgemein) verwendet.
SECPKG_CRED_OUTBOUND
Anmeldeinformationen werden mit der Funktion InitializeSecurityContext (General) verwendet.

[in] LogonId

Optional. Zeiger auf eine LUID , die den Anmeldebezeichner des Sicherheitsprinzipals enthält.

[in] AuthorizationData

Optional. Zeiger auf zusätzliche Authentifizierungsdaten.

GetKeyFunciton

[in] GetKeyArgument

Zeiger auf das Argument, das mit der GetKeyFunction-Funktion verwendet wird.

[out] CredentialHandle

Zeiger auf eine LSA_SEC_HANDLE , die die Anmeldeinformationen empfängt. Wenn Sie die Anmeldeinformationen verwendet haben, geben Sie das Handle frei, indem Sie die SpFreeCredentialsHandle-Funktion aufrufen.

[out] ExpirationTime

Zeiger auf einen TimeStamp , der die Zeit empfängt, zu der das Handle der Anmeldeinformationen abläuft.

Rückgabewert

Wenn die Funktion erfolgreich ist, geben Sie STATUS_SUCCESS zurück.

Wenn die Funktion fehlschlägt, geben Sie einen NTSTATUS-Code zurück, der den Grund für einen Fehler angibt. In der folgenden Tabelle sind häufige Fehlerursachen und die Fehlercodes aufgeführt, die zurückgegeben werden sollten.

Rückgabecode Beschreibung
SEC_E_NOT_OWNER
Dem Aufrufer wird der Zugriff verweigert.
SEC_E_NO_CREDENTIALS
Für den angegebenen Prinzipal sind keine Anmeldeinformationen verfügbar.

Hinweise

Das Paket kann die Unterstützungsfunktionen der lokalen Sicherheitsbehörde (Local Security Authority , LSA) verwenden, um zu bestimmen, ob dem Aufrufer Zugriff auf die angeforderten Anmeldeinformationen gewährt werden soll.

Die von SpAcquireCredentialsHandle abgerufenen Anmeldeinformationen werden durch Aufrufen der SpFreeCredentialsHandle-Funktion freigegeben.

SSP/APs müssen die SpAcquireCredentialsHandle-Funktion implementieren. Der tatsächliche Name, der der Implementierung zugewiesen wird, liegt jedoch beim Entwickler.

Ein Zeiger auf die SpAcquireCredentialsHandle-Funktion ist in der SECPKG_FUNCTION_TABLE Struktur verfügbar, die von der SpLsaModeInitialize-Funktion empfangen wird.

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

SECPKG_FUNCTION_TABLE

SpFreeCredentialsHandle

SpLsaModeInitialize