SeCreateClientSecurityFromSubjectContext-Funktion (ntifs.h)

Die SeCreateClientSecurityFromSubjectContext-Routine ruft das Zugriffstoken für einen Sicherheitsthemakontext ab und verwendet das Ergebnis, um einen Sicherheitsclientkontext mit den Informationen zu initialisieren, die zum Aufrufen von SeImpersonateClientEx erforderlich sind.

Syntax

NTSTATUS SeCreateClientSecurityFromSubjectContext(
  [in]  PSECURITY_SUBJECT_CONTEXT    SubjectContext,
  [in]  PSECURITY_QUALITY_OF_SERVICE ClientSecurityQos,
  [in]  BOOLEAN                      ServerIsRemote,
  [out] PSECURITY_CLIENT_CONTEXT     ClientContext
);

Parameter

[in] SubjectContext

Zeiger auf den Sicherheitskontext des Clients, der die Identität annehmen soll.

[in] ClientSecurityQos

Zeiger auf eine vom Aufrufer zugeordnete SECURITY_QUALITY_OF_SERVICE Struktur, die angibt, welche Form des Identitätswechsels ausgeführt werden soll.

[in] ServerIsRemote

Legen Sie auf TRUE fest, wenn der Server der Clientanforderung remote ist.

[out] ClientContext

Zeiger auf eine vom Aufrufer zugeordnete SECURITY_CLIENT_CONTEXT Struktur, die initialisiert werden soll.

Rückgabewert

SeCreateClientSecurityFromSubjectContext gibt STATUS_SUCCESS zurück, wenn der Sicherheitsclientkontext erfolgreich initialisiert wurde.

Es wird STATUS_BAD_IMPERSONATION_LEVEL zurückgegeben, wenn der client, der imitiert werden soll, derzeit die Identität eines eigenen Clients angibt, und einer der folgenden Punkte ist zutrifft:

  • Das effektive Token des Clients kann nicht zur Verwendung durch einen anderen Server übergeben werden, da seine Identitätswechselebene SecurityAnonymous oder SecurityIdentification ist.

  • ServerIsRemote ist TRUE, und der Clientthread nimmt die Identität seines Clients auf einer anderen Als SecurityDelegation-Ebene an.

Hinweise

SeCreateClientSecurityFromSubjectContext initialisiert einen Clientsicherheitskontextblock, um den Sicherheitskontext eines Clients darzustellen.

Wenn das ContextTrackingMode-Element von ClientSecurityQos auf SECURITY_DYNAMIC_TRACKING und ServerIsRemote auf FALSE festgelegt ist, verwendet SeCreateClientSecurityFromSubjectContext einen Verweis auf das effektive Token des Clients. Andernfalls erstellt SeCreateClientSecurityFromSubjectContext eine Kopie des Tokens des Clients.

Jeder Aufruf von SeCreateClientSecurityFromSubjectContext muss durch einen nachfolgenden Aufruf von SeDeleteClientSecurity abgeglichen werden.

Weitere Informationen zur Sicherheit und Zugriffssteuerung finden Sie unter Windows-Sicherheitsmodell für Treiberentwickler und in der Dokumentation zu diesen Themen im Windows SDK.

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client) Windows 2000
Zielplattform Universell
Header ntifs.h (include Ntifs.h)
Bibliothek NtosKrnl.lib
DLL NtosKrnl.exe
IRQL PASSIVE_LEVEL

Weitere Informationen

[SECURITY_SUBJECT_CONTEXT/(/windows-hardware/drivers/kernel/eprocess##security_subject_context)

[SeDeleteClientSecurity/(nf-ntifs-sedeleteclientsecurity.md)

[SeImpersonateClientEx/(nf-ntifs-seimpersonateclientex.md)