PiSendTargetDeviceRemoveCompleteNotification

__int64 __fastcall PiSendTargetDeviceRemoveCompleteNotification(int a1, _DEVICE_OBJECT **a2, unsigned int a3){
  __int64 v4; 
  _DEVICE_OBJECT *v6; 
  _DWORD *DeviceNode; 
  __int64 result; 

  if( a3 )
  {
    v4 = a3;
    do
    {
      v6 = *a2;
      if( *a2 )
        DeviceNode = v6->DeviceObjectExtension->DeviceNode;
      else
        DeviceNode = 0i64;
      if( a1 || !DeviceNode || (result = (unsigned int)DeviceNode[176], (result & 2) == 0) )
      {
        DeviceNode[176] |= 0x4000u;
        result = PnpNotifyTargetDeviceChange(&GUID_TARGET_DEVICE_REMOVE_COMPLETE, v6, 0i64, 0i64);
      }
      ++a2;
      --v4;
    }
    while( v4 );
  }
  return result;
}

Referenced by:

PnpProcessQueryRemoveAndEject