PipProcessRestartPhase1
__int64 __fastcall PipProcessRestartPhase1(__int64 a1, int a2, __int64 a3){
int v3;
unsigned int started;
v3 = a3;
if( (byte_140C130BB & 0x10) != 0 )
McTemplateK0dz_EtwWriteTransfer(a1, &KMPnPEvt_ProcessDeviceRestart_Start, a3, 1i64, *(const WCHAR **)(a1 + 48));
if( v3 && (*(_DWORD *)(a1 + 396) & 0x400000) != 0 )
{
started = -1073741267;
}
else
{
started = PnpStartDeviceNode(a1, 1, a2);
if( (*(_DWORD *)(a1 + 396) & 0x1000000) != 0 )
{
PnpUnlockMountableDevice(*(DEVICE_OBJECT **)(a1 + 32));
PipClearDevNodeFlags((_DEVICE_NODE *)a1, 0x1000000ui64);
}
}
if( (byte_140C130BB & 0x10) != 0 )
McTemplateK0dz_EtwWriteTransfer(a1, &KMPnPEvt_ProcessDeviceRestart_Stop, a3, 1i64, *(const WCHAR **)(a1 + 48));
return started;
}Referenced by:
PipProcessDevNodeTree