PiSwDeviceDereference

void __fastcall PiSwDeviceDereference(PVOID P){
  if( _InterlockedExchangeAdd((volatile signed __int32 *)P, 0xFFFFFFFF) == 1 )
  {
    PiSwDeviceFree((INT64)P);
    ExFreePoolWithTag(P, 0x57706E50u);
  }
}

Referenced by:

PiSwBusRelationRemove
PiSwCloseDevice
PiSwDispatch
PiSwIrpStartCreateWorker
PiSwProcessRemove
PiSwUnassociateDeviceObject