NtCreateSection
NTSTATUS __stdcall NtCreateSection(
PVOID *SectionHandle,
UINT64 DesiredAccess,
OBJECT_ATTRIBUTES *ObjectAttributes,
LARGE_INTEGER *MaximumSize,
UINT64 SectionPageProtection,
UINT64 AllocationAttributes,
PVOID FileHandle){
int v7;
int v8;
__int128 *Address;
LARGE_INTEGER *InputMaximumSize;
UINT64 a6;
ULONGLONG ullMultiplicand;
__int128 v14;
v7 = AllocationAttributes;
v8 = 0;
Address = 0i64;
v14 = 0i64;
if( (AllocationAttributes & 0x7F) != 0 )
{
v7 = AllocationAttributes & 0xFFFFFF80;
*(_QWORD *)&v14 = 2i64;
*((_QWORD *)&v14 + 1) = (unsigned int)(AllocationAttributes & 0x7F) - 1;
Address = &v14;
v8 = 1;
}
LODWORD(ullMultiplicand) = v8;
LODWORD(a6) = v7;
LODWORD(InputMaximumSize) = SectionPageProtection;
return MiCreateSectionCommon(
(UINT64)SectionHandle,
DesiredAccess,
ObjectAttributes,
(UINT64 *)&MaximumSize->QuadPart,
InputMaximumSize,
a6,
FileHandle,
Address,
ullMultiplicand);
}Referenced by:
PfSnGetSectionObject
PfpFileBuildReadSupport