Freigeben über


SeCreateClientSecurityFromSubjectContext-Funktion (ntifs.h)

Die SeCreateClientSecurityFromSubjectContext Routine ruft das Zugriffstoken für einen Sicherheitsbetreffkontext ab und verwendet das Ergebnis, um einen Sicherheitsclientkontext mit den Informationen zu initialisieren, die zum Aufrufen SeImpersonateClientExerforderlich 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

Zeigen Sie auf den Sicherheitsbetreffkontext des Clients, der als Identitätswechsel angezeigt werden soll.

[in] ClientSecurityQos

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

[in] ServerIsRemote

Wird auf TRUE festgelegt, wenn der Server der Clientanforderung remote ist.

[out] ClientContext

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

Rückgabewert

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

Er gibt STATUS_BAD_IMPERSONATION_LEVEL zurück, wenn der client, der identitätswechselt werden soll, aktuell den Identitätswechsel eines eigenen Clients vorgibt, und einer der folgenden Werte ist wahr:

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

  • ServerIsRemote- wahr ist und der Clientthread seinen Client auf einer anderen Ebene als SecurityDelegation Ebene imitiert.

Bemerkungen

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

Wenn das ContextTrackingMode Mitglied 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 Clienttokens.

Jeder Aufruf von SeCreateClientSecurityFromSubjectContext muss mit einem nachfolgenden Aufruf von SeDeleteClientSecurityabgeglichen werden.

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

Anforderungen

Anforderung Wert
mindestens unterstützte Client- Windows 2000
Zielplattform- Universal
Header- ntifs.h (einschließlich Ntifs.h)
Library NtosKrnl.lib
DLL- NtosKrnl.exe
IRQL- PASSIVE_LEVEL

Siehe auch

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

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

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