Поделиться через


Функция 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, когда клиент, который будет олицетворен в настоящее время олицетворение клиента собственным, и одно из следующих значений имеет значение true:

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

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

Замечания

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

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

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

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

Требования

Требование Ценность
минимальные поддерживаемые клиентские Windows 2000
целевая платформа Всеобщий
заголовка ntifs.h (include 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)