Función SeCaptureSubjectContextEx (ntifs.h)
seCaptureSubjectContextEx toma una instantánea del contexto de seguridad del subproceso de llamada para la validación y auditoría de acceso.
Sintaxis
void SeCaptureSubjectContextEx(
PETHREAD Thread,
PEPROCESS Process,
PSECURITY_SUBJECT_CONTEXT SubjectContext
);
Parámetros
Thread
[in] Subproceso desde el que se va a capturar el token de subproceso. Este parámetro es opcional. Cuando es NULL, seCaptureSubjectContextEx no captura un token de suplantación.
Process
[in] Puntero al identificador de del proceso desde el que se va a capturar el token principal.
SubjectContext
[out] Puntero a una estructura de SECURITY_SUBJECT_CONTEXT asignada por el autor de llamada opaco. seCaptureSubjectContextEx escribirá la instantánea del perfil de seguridad del subproceso que llama, que contiene referencias a tokens de acceso, en esta estructura. Los controladores no deben modificar ni intentar acceder directamente a ningún miembro de esta estructura para tomar decisiones de seguridad. En su lugar, para evitar problemas de seguridad en la autorización, pase esta estructura opaca en llamadas a SeAccessCheck o SePrivilegeCheck.
Valor devuelto
Ninguno
Observaciones
Debe llamar a seCaptureSubjectContextEx antes de realizar servicios como la validación de acceso o generar mensajes de auditoría. Esto es necesario para proporcionar un contexto de seguridad coherente a rutinas como las siguientes:
- SeQueryAuthenticationIdToken
- SeQuerySubjectContextToken
- seQueryInformationToken
- SePrivilegeCheck
Después de realizar la validación de acceso, la comprobación de privilegios y los servicios de generación de auditoría, libere el contexto capturado lo antes posible llamando a SeReleaseSubjectContext.
SeCaptureSubjectContextEx bloquea los tokens según sea necesario mientras toma la instantánea del contexto de seguridad del subproceso que realiza la llamada.
A cambio, las referencias a los tokens de acceso se encuentran en la estructura a la que SubjectContext apunta. El contenido de esa estructura puede cambiar. Para evitar esto, llame a seLockSubjectContext para bloquear el token de acceso principal y los tokens de suplantación asociados a la estructura. Por ejemplo, al usar rutinas que consultan información de token más de una vez en el mismo contexto de seguridad (como los enumerados anteriormente), bloquee el contexto del asunto con seLockSubjectContext para obtener resultados coherentes.
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 Vista |
encabezado de | ntifs.h |
biblioteca de | NtosKrnl.lib |
DLL de | NtosKrnl.exe |
irQL | PASSIVE_LEVEL |