LSA_AP_CALL_PACKAGE Rückruffunktion (ntsecpkg.h)

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.

LsaApCallPackage wird nur für Anmeldeanwendungen aufgerufen. Aufrufe von Anwendungen, die nicht über das SeTcbPrivilege-Recht verfügen, werden stattdessen an die LsaApCallPackageUntrusted-Funktion des angegebenen Authentifizierungspakets weitergeleitet.

Syntax

LSA_AP_CALL_PACKAGE LsaApCallPackage;

NTSTATUS LsaApCallPackage(
  [in]  PLSA_CLIENT_REQUEST ClientRequest,
  [in]  PVOID ProtocolSubmitBuffer,
  [in]  PVOID ClientBufferBase,
  [in]  ULONG SubmitBufferLength,
  [out] PVOID *ProtocolReturnBuffer,
  [out] PULONG ReturnBufferLength,
  [out] PNTSTATUS ProtocolStatus
)
{...}

Parameter

[in] ClientRequest

Zeiger auf einen undurchsichtigen LSA_CLIENT_REQUEST Puffer, der die Anforderung des LSA-Clients darstellt.

[in] ProtocolSubmitBuffer

Stellt eine protokollspezifische Nachricht für das Authentifizierungspaket bereit.

[in] ClientBufferBase

Stellt die Adresse innerhalb des Clientprozesses der Protokollnachricht bereit. Dies kann erforderlich sein, um zeiger innerhalb des ProtocolSubmitBuffer-Puffers neu zuzuordnen.

[in] SubmitBufferLength

Gibt die Länge des ProtocolSubmitBuffer-Puffers in Bytes an.

[out] ProtocolReturnBuffer

Gibt die Adresse des Ausgabepuffers innerhalb des Clientprozesses zurück. Das Authentifizierungspaket ist für den Aufruf der Funktion AllocateClientBuffer verantwortlich, um den Puffer innerhalb des Clientprozesses zuzuweisen. Der Inhalt dieses Puffers ist spezifisch für das Authentifizierungspaket.

[out] ReturnBufferLength

Zeiger auf eine ULONG, die die Länge des ProtocolReturnBuffer-Puffers in Bytes zurückgibt.

[out] ProtocolStatus

Zeiger auf einen NTSTATUS-Wert. Wenn die Funktion STATUS_SUCCESS zurückgibt, gibt ProtocolStatus eine Vervollständigung zurück, die vom Authentifizierungspaket festgelegt status. ProtocolStatus-Werte sind spezifisch für das Authentifizierungspaket.

Weitere Informationen zu NTSTATUS-Codes finden Sie in der Datei Subauth.h, die im Lieferumfang des Platform SDK enthalten ist.

Rückgabewert

Wenn die Funktion erfolgreich ist, geben Sie STATUS_SUCCESS zurück. Dieser Rückgabewert gibt an, dass das Authentifizierungspaket versucht hat, den angeforderten Dienst bereitzustellen. Verwenden Sie den ProtocolStatus-Parameter, um die Vervollständigung status der Dienstanforderung zurückzugeben.

Wenn das Authentifizierungspaket die Anforderung nicht verarbeiten konnte und daher nicht versucht hat, den angeforderten Dienst bereitzustellen, geben Sie einen NTSTATUS-Code zurück, der das Problem angibt. Bei diesem Code kann es sich um den folgenden Wert oder um einen der Rückgabewerte der LSA-Richtlinienfunktion handeln.

Rückgabecode Beschreibung
STATUS_NO_MEMORY
Das Arbeitsspeicherkontingent des Clients reicht nicht aus, um den Ausgabepuffer zuzuweisen.

Hinweise

Diese Funktion muss durch Authentifizierungspakete implementiert werden.

Anforderungen

   
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

AllocateClientBuffer

LsaApCallPackageUntrusted

LsaCallAuthenticationPackage