IopRemoveCurrentRelationFromList

INT64 __fastcall IopRemoveCurrentRelationFromList(UINT64 **a1, INT64 a2, _DWORD *a3){
  unsigned int v5; 
  _DEVICE_OBJECT_LIST **v6; 
  INT64 result; 
  __int64 v8; 
  v8 = 0i64;
  if( *a3 > 1u )
    return 3221225659i64;
  v5 = a3[1] - 1;
  PipDeviceObjectListElementAt((unsigned int *)*a1, v5, &v8, 0i64, 0i64);
  if( v8 != a2 )
    return 3221225486i64;
  result = PipDeviceObjectListRemove(*v6, v5);
  if( *a3 > 1u )
    return 3221225659i64;
  a3[1] = v5;
  return result;
}

Referenced by:

PnpUnlinkDeviceRemovalRelations