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

Se establece 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:

  • El token efectivo del cliente no se puede pasar para que lo use otro servidor, ya que 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 .

Comentarios

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

Si el miembro ContextTrackingMode 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 Value
Cliente mínimo compatible Windows 2000
Plataforma de destino Universal
Encabezado ntifs.h (incluya Ntifs.h)
Library NtosKrnl.lib
Archivo DLL 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)