Compartir a través de


Función SeCreateClientSecurityFromSubjectContext (ntifs.h)

La rutina SeCreateClientSecurityFromSubjectContext recupera el token de acceso para un contexto de sujeto de seguridad y usa el resultado para inicializar un contexto de cliente de seguridad con la información necesaria para llamar a SeImpersonateClientEx.

Sintaxis

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

Puntero al contexto del sujeto de seguridad del cliente que se va a suplantar.

[in] ClientSecurityQos

Puntero a una estructura de SECURITY_QUALITY_OF_SERVICE asignada por el autor de la llamada que indica qué forma de suplantación se va a realizar.

[in] ServerIsRemote

Establezca en TRUE si el servidor de la solicitud del cliente es remoto.

[out] ClientContext

Puntero a una estructura de SECURITY_CLIENT_CONTEXT asignada por el autor de la llamada que se va a inicializar.

Valor devuelto

seCreateClientSecurityFromSubjectContext devuelve STATUS_SUCCESS cuando inicializa correctamente el contexto del cliente de seguridad.

Devuelve STATUS_BAD_IMPERSONATION_LEVEL cuando el cliente que se va a suplantar está suplantando actualmente a un cliente propio y se cumple una de las siguientes condiciones:

  • Otro servidor no puede pasar el token efectivo del cliente porque su nivel de suplantación es SecurityAnonymous o SecurityIdentification.

  • serverIsRemote es TRUE y el subproceso de cliente suplanta a su cliente en un nivel distinto de SecurityDelegation.

Observaciones

SeCreateClientSecurityFromSubjectContext inicializa un bloque de contexto de seguridad de cliente para representar el contexto de seguridad de un cliente.

Si el ContextTrackingMode miembro de ClientSecurityQos se establece en SECURITY_DYNAMIC_TRACKING y ServerIsRemote se establece en FALSE, SeCreateClientSecurityFromSubjectContext usa una referencia al token efectivo del cliente. De lo contrario, SeCreateClientSecurityFromSubjectContext crea una copia del token del cliente.

Cada llamada a seCreateClientSecurityFromSubjectContext debe coincidir con una llamada posterior a SeDeleteClientSecurity.

Para obtener más información sobre la seguridad y el control de acceso, consulte modelo de seguridad de Windows para desarrolladores de controladores y la documentación sobre estos temas en Windows SDK.

Requisitos

Requisito Valor
cliente mínimo admitido Windows 2000
de la plataforma de destino de Universal
encabezado de ntifs.h (incluya Ntifs.h)
biblioteca de NtosKrnl.lib
DLL de NtosKrnl.exe
irQL PASSIVE_LEVEL

Consulte también

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

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

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