RtlFileMapInitializeByNtPath
NTSTATUS __stdcall RtlFileMapInitializeByNtPath(_RTL_FILE_MAP *FileMapOut, _UNICODE_STRING *NtPath){
int v3;
VOID *v4;
UINT64 v6;
UINT64 v7;
UINT64 v8;
UINT64 v9;
UINT64 v10;
_IO_STATUS_BLOCK IoStatusBlock;
_OBJECT_ATTRIBUTES ObjectAttributes;
VOID *FileHandle;
LODWORD(v10) = 0;
*(&ObjectAttributes.Length + 1) = 0;
memset(&ObjectAttributes.Attributes + 1, 0, 20);
FileHandle = 0i64;
ObjectAttributes.RootDirectory = 0i64;
LODWORD(v9) = 96;
LODWORD(v8) = 1;
LODWORD(v7) = 5;
ObjectAttributes.ObjectName = NtPath;
LODWORD(v6) = 128;
IoStatusBlock = 0i64;
ObjectAttributes.Length = 48;
ObjectAttributes.Attributes = 576;
v3 = ZwCreateFile(&FileHandle, 0x80100080ui64, &ObjectAttributes, &IoStatusBlock, 0i64, v6, v7, v8, v9, 0i64, v10);
if( v3 < 0 )
{
v4 = FileHandle;
}
else
{
v4 = 0i64;
*(_QWORD *)FileMapOut = FileHandle;
v3 = 0;
FileHandle = 0i64;
*((_BYTE *)FileMapOut + 48) = 1;
}
if( v4 )
ZwClose((_HANDLE)v4);
return v3;
}Referenced by:
AslFileMappingCreate