PspCreatePartitionSystemProcess
INT64 __fastcall PspCreatePartitionSystemProcess(PVOID *a1, _QWORD *a2){
VOID *v2;
int v5;
PVOID v6;
NTSTATUS v7;
INT64 result;
VOID **v9;
_UNICODE_STRING ProcessName;
PVOID Handle;
Handle = 0i64;
ProcessName.Buffer = L"PartitionSystm";
LOBYTE(v2) = *((_BYTE *)PsInitialSystemProcess + 2170);
LODWORD(v9) = 0;
*(_QWORD *)&ProcessName.Length = 1966108i64;
v5 = PsCreateMinimalProcess((_EPROCESS *)PsInitialSystemProcess, &ProcessName, 0, v2, 0i64, v9);
v6 = Handle;
v7 = v5;
if( v5 >= 0 )
{
Handle = 0i64;
v7 = ObReferenceObjectByHandle(v6, 0, (POBJECT_TYPE)PsProcessType, 0, &Handle, 0i64);
if( v7 >= 0 )
{
*a1 = Handle;
result = 0i64;
*a2 = v6;
return result;
}
if( Handle )
HalPutDmaAdapter((PADAPTER_OBJECT)Handle);
}
if( v6 )
ObCloseHandle(v6, 0);
return(unsigned int)v7;
}Referenced by:
PspAllocatePartition