CmpCheckHivePrimaryFileReadWriteAccess
UINT8 __stdcall CmpCheckHivePrimaryFileReadWriteAccess(VOID *HiveFileSecurityDescriptor){
char PreviousMode;
_GENERIC_MAPPING *GenericMapping;
UINT8 v4;
_KPROCESSOR_MODE AccessMode;
_SECURITY_SUBJECT_CONTEXT SubjectContext;
int AccessStatus;
unsigned int GrantedAccess;
AccessStatus = 0;
GrantedAccess = 0;
memset(&SubjectContext, 0, sizeof(SubjectContext));
PreviousMode = KeGetCurrentThread()->PreviousMode;
SeCaptureSubjectContext((INT64)&SubjectContext);
GenericMapping = IoGetFileObjectGenericMapping();
LOBYTE(AccessMode) = PreviousMode;
v4 = (unsigned __int8)SeAccessCheck(
HiveFileSecurityDescriptor,
&SubjectContext,
0,
3,
0,
0i64,
GenericMapping,
AccessMode,
&GrantedAccess,
&AccessStatus);
SeReleaseSubjectContext(&SubjectContext);
return v4;
}Referenced by:
CmLoadAppKey