FsRtlAcquireToCreateMappedSection
NTSTATUS __stdcall FsRtlAcquireToCreateMappedSection(
_FILE_OBJECT *FileObject,
UINT64 SectionPageProtection,
UINT64 *Flags,
UINT64 *CompressionAlignment){
char v4;
int v6;
FAST_MUTEX **FsContext;
_FAST_MUTEX *v9;
_DWORD *v10;
*(_DWORD *)CompressionAlignment = 0;
v4 = SectionPageProtection;
*v10 = 0;
v6 = FsRtlAcquireFileExclusiveCommon(
FileObject,
SyncTypeCreateSection,
(unsigned int)SectionPageProtection,
(FS_FILTER_SECTION_SYNC_OUTPUT *)(unsigned int)Flags);
if( v6 >= 0 && (v4 & 0x44) != 0 )
{
FsContext = (FAST_MUTEX **)FileObject->FsContext;
if( FsContext )
{
ExAcquireFastMutex(FsContext[6]);
v9 = FsContext[6];
*((_BYTE *)FsContext + 6) |= 0x10u;
KeReleaseGuardedMutex(v9);
}
}
return v6;
}Referenced by:
FsRtlCreateSectionForDataScan
MiCallCreateSectionFilters