Функция SeCreateClientSecurityFromSubjectContext (ntifs.h)

Подпрограмма SeCreateClientSecurityFromSubjectContext извлекает маркер доступа для контекста субъекта безопасности и использует результат для инициализации контекста клиента безопасности со сведениями, необходимыми для вызова SeImpersonateClientEx.

Синтаксис

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

Параметры

[in] SubjectContext

Указатель на контекст субъекта безопасности клиента для олицетворения.

[in] ClientSecurityQos

Указатель на структуру, выделенную вызывающим объектом SECURITY_QUALITY_OF_SERVICE, указывающую, какая форма олицетворения должна быть выполнена.

[in] ServerIsRemote

Задайте значение TRUE, если сервер запроса клиента является удаленным.

[out] ClientContext

Указатель на инициализизуемую структуру, выделенную вызывающим объектом SECURITY_CLIENT_CONTEXT.

Возвращаемое значение

SeCreateClientSecurityFromSubjectContext возвращает STATUS_SUCCESS при успешной инициализации контекста клиента безопасности.

Он возвращает STATUS_BAD_IMPERSONATION_LEVEL, когда клиент, для олицетворения, в настоящее время олицетворение собственного клиента, и выполняется одно из следующих действий:

  • Действующий маркер клиента не может быть передан для использования другим сервером, так как его уровень олицетворения — SecurityAnonymous или SecurityIdentification.

  • ServerIsRemote имеет значение TRUE, а клиентский поток олицетворяет своего клиента на уровне, отличном от SecurityDelegation .

Комментарии

SeCreateClientSecurityFromSubjectContext инициализирует блок контекста безопасности клиента для представления контекста безопасности клиента.

Если для элемента ContextTrackingModeclientSecurityQos задано значение SECURITY_DYNAMIC_TRACKING а для параметра ServerIsRemote установлено значение FALSE, SeCreateClientSecurityFromSubjectContext использует ссылку на действующий маркер клиента. В противном случае SeCreateClientSecurityFromSubjectContext создает копию маркера клиента.

Каждый вызов SeCreateClientSecurityFromSubjectContext должен быть сопоставлен последующим вызовом SeDeleteClientSecurity.

Дополнительные сведения о безопасности и управлении доступом см. в статье Модель безопасности Windows для разработчиков драйверов и в документации по этим темам в windows SDK.

Требования

Требование Значение
Минимальная версия клиента Windows 2000
Целевая платформа Универсальное
Верхняя часть ntifs.h (включая Ntifs.h)
Библиотека NtosKrnl.lib
DLL NtosKrnl.exe
IRQL PASSIVE_LEVEL

См. также раздел

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

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

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