SeAccessCheckFromState
BOOL __stdcall SeAccessCheckFromState(
PSECURITY_DESCRIPTOR SecurityDescriptor,
PTOKEN_ACCESS_INFORMATION PrimaryTokenInformation,
PTOKEN_ACCESS_INFORMATION ClientTokenInformation,
_ACCESS_MASK DesiredAccess,
_ACCESS_MASK PreviouslyGrantedAccess,
PPRIVILEGE_SET *Privileges,
PGENERIC_MAPPING GenericMapping,
_KPROCESSOR_MODE AccessMode,
PACCESS_MASK GrantedAccess,
PNTSTATUS AccessStatus){
_TOKEN *v14;
UINT64 v16;
_TOKEN v17;
_TOKEN Token;
memset(&Token, 0i64, sizeof(Token));
memset(&v17, 0i64, sizeof(v17));
SepTokenFromAccessInformation(PrimaryTokenInformation, &Token);
v14 = 0i64;
if( ClientTokenInformation )
{
SepTokenFromAccessInformation(ClientTokenInformation, &v17);
v14 = &v17;
}
LODWORD(v16) = PreviouslyGrantedAccess;
return SeAccessCheckFromStateEx(
SecurityDescriptor,
&Token,
v14,
(unsigned int)DesiredAccess,
v16,
Privileges,
GenericMapping,
AccessMode,
(UINT64 *)GrantedAccess,
(INT64 *)AccessStatus);
}Referenced by:
CmpCheckAdminAccess
EtwpAccessCheckFromState