PnpUpdateRebootRequiredReason
__int64 __fastcall PnpUpdateRebootRequiredReason(INT64 a1, __int64 a2, __int64 a3){
unsigned int v3;
INT64 v6;
INT64 v8[2];
int v9;
int v10;
int v11;
char v12;
v10 = HIDWORD(a2);
v3 = 0;
v12 = 0;
v11 = 0;
v9 = 0;
v8[0] = 0i64;
if( PnpGetObjectProperty(
*(&stru_140CF2E80 + 1214),
a1,
1i64,
0i64,
0i64,
(INT64)&DEVPKEY_Device_IsRebootRequired,
(INT64)&v9,
(INT64)&v12) >= 0
&& v9 == 17
&& v11 == 1
&& v12 == -1
&& (PnpGetObjectProperty(
*(&stru_140CF2E80 + 1214),
a1,
1i64,
0i64,
0i64,
(INT64)&DEVPKEY_Device_RebootRequiredReason,
(INT64)&v9,
(INT64)v8) < 0
|| v9 != 9
|| v11 != 8) )
{
v6 = 0i64;
}
else
{
v6 = v8[0];
}
v8[0] = a3 | v6;
if( a3 | v6 )
return(unsigned int)PnpSetObjectProperty(
*(&stru_140CF2E80 + 607),
a1,
1u,
0i64,
0i64,
(__int64)&DEVPKEY_Device_RebootRequiredReason,
9,
(__int64)v8,
8,
0);
else
PnpSetObjectProperty(
*(&stru_140CF2E80 + 607),
a1,
1u,
0i64,
0i64,
(__int64)&DEVPKEY_Device_RebootRequiredReason,
0,
0i64,
0,
0);
return v3;
}Referenced by:
PiDevCfgProcessDevice
PipProcessRestartPhase2
PipProcessStartPhase2
PnpReallocateResources