Función SeAccessCheckFromStateEx (ntifs.h)
SeAccessCheckFromStateEx comprueba si los derechos de acceso solicitados se pueden conceder a un objeto protegido por un descriptor de seguridad y un propietario de objeto opcional.
Sintaxis
BOOLEAN SeAccessCheckFromStateEx(
PSECURITY_DESCRIPTOR SecurityDescriptor,
PACCESS_TOKEN PrimaryToken,
PACCESS_TOKEN ClientToken,
ACCESS_MASK DesiredAccess,
ACCESS_MASK PreviouslyGrantedAccess,
PPRIVILEGE_SET *Privileges,
PGENERIC_MAPPING GenericMapping,
KPROCESSOR_MODE AccessMode,
PACCESS_MASK GrantedAccess,
PNTSTATUS AccessStatus
);
Parámetros
SecurityDescriptor
[in] Puntero a una estructura de SECURITY_DESCRIPTOR que contiene la información de seguridad que protege el objeto al que se accede.
PrimaryToken
[in] Puntero a una estructura de ACCESS_TOKEN opaca para el token principal. Esta estructura proporciona la información del token necesaria para realizar una comprobación de acceso.
ClientToken
[in_opt] Puntero opcional a una estructura de ACCESS_TOKEN opaca para el token de cliente.
DesiredAccess
[in] Valor de ACCESS_MASK que especifica los derechos de acceso deseados que se van a comprobar.
PreviouslyGrantedAccess
[in] Valor de ACCESS_MASK que especifica los accesos a los que ya se ha concedido el usuario; por ejemplo, como resultado de mantener un privilegio.
Privileges
[out] Puntero a una estructura de PRIVILEGE_SET en la que se devuelve un conjunto de privilegios para indicar los privilegios que se usaron como parte de la validación de acceso.
GenericMapping
[in] Puntero a la estructura GENERIC_MAPPING asociada a este tipo de objeto.
AccessMode
[in] Valor de KPROCESSOR_MODE que especifica el modo de procesador que se va a usar en la comprobación. AccessMode puede ser KernelMode o UserMode. Los controladores de nivel inferior deben especificar KernelMode.
GrantedAccess
[out] Puntero a un valor de ACCESS_MASK devuelto que indica el acceso concedido.
AccessStatus
[out] Puntero a un valor de estado NT que se puede devolver para indicar por qué se denegó el acceso. Vea la sección Comentarios.
Valor devuelto
SeAccessCheckFromStateEx devuelve TRUE si se permite el acceso; devuelve FALSE si no se permite el acceso.
Comentarios
SeAccessCheckFromStateEx puede realizar pruebas para los siguientes privilegios, en función de los accesos solicitados:
- SeTakeOwnershipPrivilege
- SeSecurityPrivilege
Esta rutina también puede comprobar si el autor de la llamada es el propietario del objeto para conceder acceso WRITE_DAC o READ_CONTROL.
Si esta rutina devuelve FALSE, el autor de la llamada debe usar accessStatus devuelto como su valor devuelto. Es decir, el autor de la llamada debe evitar codificar de forma hardcod un valor devuelto de STATUS_ACCESS_DENIED o cualquier otro valor específico STATUS_XXX .
Es posible que se llame a esta rutina desde el nivel DPC, por lo que no debe ser paginable.
Requisitos
Requisito | Value |
---|---|
Cliente mínimo compatible | Windows 2000 |
Encabezado | ntifs.h |
Library | NtosKrnl.lib |
Archivo DLL | NtosKrnl.exe |