PiProcessAddBootDevices
INT64 __stdcall PiProcessAddBootDevices(PDEVICE_OBJECT DeviceObject){
__int64 v1;
ULONG_PTR v2;
__int64 v4;
PVOID P;
v4 = 0i64;
v1 = *((_QWORD *)DeviceObject + 39);
P = 0i64;
v2 = *(_QWORD *)(v1 + 40);
if( *(_DWORD *)(v2 + 300) == 770 && (*(_DWORD *)(v2 + 396) & 0x6002) == 0 && !*(_QWORD *)(v2 + 432) )
{
PiPnpRtlBeginOperation((__int64 **)&P);
BYTE4(v4) = PnPBootDriversInitialized;
if( (int)PipCallDriverAddDevice(v2, (__int64)&v4) >= 0 )
PoFxPrepareDevice(v2, 0);
if( P )
PiPnpRtlEndOperation(P);
}
return 0i64;
}Referenced by:
PipAddDevicesToBootDriverWorker