RtlGetDaclSecurityDescriptor
NTSTATUS __stdcall RtlGetDaclSecurityDescriptor(
VOID *SecurityDescriptor,
UINT8 *DaclPresent,
_ACL **Dacl,
UINT8 *DaclDefaulted){
__int16 v5;
_ACL *v6;
__int16 v7;
__int64 v8;
if( *(_BYTE *)SecurityDescriptor != 1 )
return -1073741736;
v5 = *((_WORD *)SecurityDescriptor + 1) & 4;
*DaclPresent = v5 != 0;
v6 = 0i64;
if( v5 )
{
v7 = *((_WORD *)SecurityDescriptor + 1);
if( (v7 & 4) != 0 )
{
if( v7 >= 0 )
{
v6 = (_ACL *)*((_QWORD *)SecurityDescriptor + 4);
}
else
{
v8 = *((unsigned int *)SecurityDescriptor + 4);
if( (_DWORD)v8 )
v6 = (_ACL *)((char *)SecurityDescriptor + v8);
}
}
*Dacl = v6;
*DaclDefaulted = (*((_BYTE *)SecurityDescriptor + 2) & 8) != 0;
}
return 0;
}Referenced by:
AdtpBuildAccessReasonAuditStringInternal
CmpCopySaclToVirtualKey
ExpWnfSpecializeSecurityDescriptor
IopGetSecurityDescriptorInformation
LocalConvertSDToStringSD_Rev1
MiInitializeMemoryEvents
ObCleanupSecurityDescriptor
ObpCreateDosDevicesDirectory
ObpInsertOrLocateNamedObject
PiDevCfgGetKeySecurityDescriptor
PipChangeDeviceObjectFromRegistryProperties
RtlReplaceSidInSd
RtlpSysVolCheckOwnerAndSecurity
SepHasCriticalAcesRemoved