PnpGetSystemPdoList

NTSTATUS __stdcall PnpGetSystemPdoList(DEVICE_OBJECT *DeviceObject, DEVICE_RELATIONS **PdoDeviceList){
  _DEVICE_RELATIONS *v2; 
  PVOID v4; 
  NTSTATUS v5; 
  int v7[2]; 
  DEVICE_RELATIONS *v8; 
  v2 = 0i64;
  v7[1] = 0;
  if( !PdoDeviceList )
    return -1073741811;
  if( DeviceObject )
    v4 = *(PVOID *)(*((_QWORD *)DeviceObject + 39) + 40i64);
  else
    v4 = IopRootDeviceNode;
  v8 = 0i64;
  v7[0] = 0;
  v5 = PipForDeviceNodeSubtree((__int64)v4, (__int64)PiPnpPdoDeviceListEnumCallback, (__int64)v7);
  if( v5 < 0 )
  {
    v2 = v8;
  }
  else
  {
    *PdoDeviceList = v8;
    v8 = 0i64;
  }
  PiPnpFreePdoDeviceList(v2);
  return v5;
}

Referenced by:

No references.