PspInitializeServerSiloDeferred
NTSTATUS __stdcall PspInitializeServerSiloDeferred(VOID *Parameter){
_ESERVERSILO_GLOBALS *ServerSiloGlobals;
__int64 v3;
NTSTATUS result;
NTSTATUS inited;
ServerSiloGlobals = PsGetServerSiloGlobals((_EJOB *)Parameter);
result = sub_1405B03A8(v3);
if( result >= 0 )
{
result = PspSiloInitializeUserSharedData((_EJOB *)Parameter);
if( result >= 0 )
{
result = PspSiloInitializeSystemRootSymlink((_EJOB *)Parameter);
if( result >= 0 )
{
result = PspInitializeProtectedProcessParameters((INT64)ServerSiloGlobals);
if( result >= 0 )
{
result = PspSiloLoadApiSets((_EJOB *)Parameter);
if( result >= 0 )
{
result = PspSiloInitializeIsMultiSessionSku((_EJOB *)Parameter);
if( result >= 0 )
{
inited = ObInitServerSilo((_EJOB *)Parameter);
if( inited < 0 )
goto LABEL_16;
result = ExpTimeZoneInitSiloState((INT64)Parameter);
if( result < 0 )
return result;
inited = SeInitServerSilo((_EJOB *)Parameter);
if( inited < 0
|| (inited = CmInitServerSiloState((_EJOB *)Parameter), inited < 0)
|| (inited = EtwInitializeSiloState((_EJOB *)Parameter), inited < 0)
|| (inited = DbgkInitializeServerSilo((_EJOB *)Parameter), inited < 0) )
{
LABEL_16:
ServerSiloGlobals->State = SERVERSILO_TERMINATED;
PspDeleteExternalServerSiloState((_EJOB *)Parameter);
}
else
{
inited = PspNotifyServerSiloCreation((_EJOB *)Parameter);
if( inited >= 0 )
return 0;
PsTerminateServerSilo();
}
return inited;
}
}
}
}
}
}
return result;
}Referenced by:
PspQueueDeferredWorkAndWait