PspCreatePartitionSystemProcess
__int64 __fastcall PspCreatePartitionSystemProcess(PVOID *a1, _QWORD *a2, __int64 a3, VOID *a4){
NTSTATUS MinimalProcess;
VOID *v7;
NTSTATUS v8;
__int64 result;
_UNICODE_STRING ProcessName;
PVOID Handle;
Handle = 0i64;
ProcessName.Buffer = L"PartitionSystm";
LOBYTE(a4) = PsInitialSystemProcess->Protection.Level;
*(_QWORD *)&ProcessName.Length = 1966108i64;
MinimalProcess = PsCreateMinimalProcess(PsInitialSystemProcess, (PS_PROTECTION)&ProcessName, 0i64, (UINT64)a4, 0i64);
v7 = Handle;
v8 = MinimalProcess;
if( MinimalProcess >= 0 )
{
Handle = 0i64;
v8 = ObReferenceObjectByHandle(v7, 0i64, (_OBJECT_TYPE *)PsProcessType, 0, &Handle, 0i64);
if( v8 >= 0 )
{
*a1 = Handle;
result = 0i64;
*a2 = v7;
return result;
}
if( Handle )
HalPutDmaAdapter((PADAPTER_OBJECT)Handle);
}
if( v7 )
ObCloseHandle(v7, 0);
return(unsigned int)v8;
}Referenced by:
PspAllocatePartition