PiSwDestroyDeviceObject

VOID __stdcall PiSwDestroyDeviceObject(_DEVICE_OBJECT *DeviceObject){
  _DWORD *DeviceExtension; 

  DeviceExtension = DeviceObject->DeviceExtension;
  PiSwUnassociateDeviceObject(DeviceObject);
  DeviceExtension[2] |= 0x10u;
  IoDeleteDevice(DeviceObject);
}

Referenced by:

PiSwPdoPnPDispatch
PiSwProcessParentRemoveIrp