MmDoesFileHaveUserWritableReferences
ULONG __stdcall MmDoesFileHaveUserWritableReferences(PSECTION_OBJECT_POINTERS SectionPointer){
UINT8 CurrentIrql;
INT64 *DataSectionObject;
INT64 *v5;
_BOOL4 v6;
while( 1 )
{
CurrentIrql = KeGetCurrentIrql();
__writecr8(2ui64);
ExpAcquireSpinLockExclusive(&SpinLock, CurrentIrql);
DataSectionObject = (INT64 *)SectionPointer->DataSectionObject;
if( !SectionPointer->DataSectionObject )
{
ExReleaseSpinLockExclusiveFromDpcLevel(&SpinLock);
__writecr8(CurrentIrql);
return 0;
}
v5 = DataSectionObject + 9;
if( (unsigned int)ExTryAcquireSpinLockExclusiveAtDpcLevel(DataSectionObject + 9) )
break;
ExReleaseSpinLockExclusiveFromDpcLevel(&SpinLock);
__writecr8(CurrentIrql);
}
ExReleaseSpinLockExclusiveFromDpcLevel(&SpinLock);
v6 = MiDoesControlAreaHaveUserWritableReferences((INT64)DataSectionObject) != 0;
ExReleaseSpinLockExclusiveFromDpcLevel(v5);
__writecr8(CurrentIrql);
return v6;
}Referenced by:
No references.