NtOpenSession
NTSTATUS __fastcall NtOpenSession(VOID **SessionHandle, UINT64 DesiredAccess, _OBJECT_ATTRIBUTES *ObjectAttributes){
int v4;
char PreviousMode;
__int64 v7;
NTSTATUS result;
UINT64 DesiredAccessa;
VOID *Handle;
v4 = DesiredAccess;
Handle = 0i64;
PreviousMode = KeGetCurrentThread()->PreviousMode;
if( PreviousMode )
{
v7 = 0x7FFFFFFF0000i64;
if( (unsigned __int64)SessionHandle < 0x7FFFFFFF0000i64 )
v7 = (__int64)SessionHandle;
*(_QWORD *)v7 = *(_QWORD *)v7;
}
LODWORD(DesiredAccessa) = v4;
result = ObOpenObjectByName(ObjectAttributes, MmSessionObjectType, PreviousMode, 0i64, DesiredAccessa, 0i64, &Handle);
*SessionHandle = Handle;
return result;
}Referenced by:
PfpSourceGetPrefetchSupport