Função SeCreateClientSecurityFromSubjectContext (ntifs.h)

A rotina SeCreateClientSecurityFromSubjectContext recupera o token de acesso para um contexto de entidade de segurança e usa o resultado para inicializar um contexto de cliente de segurança com as informações necessárias para chamar SeImpersonateClientEx.

Sintaxe

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

Parâmetros

[in] SubjectContext

Ponteiro para o contexto de entidade de segurança do cliente a ser representado.

[in] ClientSecurityQos

Ponteiro para uma estrutura de SECURITY_QUALITY_OF_SERVICE alocada pelo chamador que indica qual forma de representação deve ser executada.

[in] ServerIsRemote

Defina como TRUE se o servidor da solicitação do cliente for remoto.

[out] ClientContext

Ponteiro para uma estrutura de SECURITY_CLIENT_CONTEXT alocada pelo chamador a ser inicializada.

Retornar valor

SeCreateClientSecurityFromSubjectContext retorna STATUS_SUCCESS quando inicializa com êxito o contexto do cliente de segurança.

Ele retorna STATUS_BAD_IMPERSONATION_LEVEL quando o cliente a ser representado está atualmente representando um cliente próprio, e um dos seguintes é verdadeiro:

  • O token efetivo do cliente não pode ser passado para uso por outro servidor, pois seu nível de representação é SecurityAnonymous ou SecurityIdentification.

  • ServerIsRemote é TRUE e o thread do cliente está representando seu cliente em outro nível de SecurityDelegation .

Comentários

SeCreateClientSecurityFromSubjectContext inicializa um bloco de contexto de segurança do cliente para representar o contexto de segurança de um cliente.

Se o membro ContextTrackingMode de ClientSecurityQos estiver definido como SECURITY_DYNAMIC_TRACKING e ServerIsRemote estiver definido como FALSE, SeCreateClientSecurityFromSubjectContext usará uma referência ao token efetivo do cliente. Caso contrário, SeCreateClientSecurityFromSubjectContext criará uma cópia do token do cliente.

Cada chamada para SeCreateClientSecurityFromSubjectContext deve ser correspondida por uma chamada subsequente para SeDeleteClientSecurity.

Para obter mais informações sobre segurança e controle de acesso, consulte Modelo de segurança do Windows para desenvolvedores de driver e a documentação sobre esses tópicos no SDK do Windows.

Requisitos

Requisito Valor
Cliente mínimo com suporte Windows 2000
Plataforma de Destino Universal
Cabeçalho ntifs.h (inclua Ntifs.h)
Biblioteca NtosKrnl.lib
DLL NtosKrnl.exe
IRQL PASSIVE_LEVEL

Confira também

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

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

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