Функция 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)