title: How do I get USB disk drive inserted and removed events in a service without hearing my hard drive being accessed repeatedly on some O/S's?
body: <p>I use this code in my Windows Service to be notified of USB disk drives being inserted and removed:</p>
  
  <pre><code>WqlEventQuery query = new WqlEventQuery("__InstanceOperationEvent", 
      "TargetInstance ISA 'Win32_LogicalDisk' AND TargetInstance.DriveType=2");
  query.WithinInterval = TimeSpan.FromSeconds(1);
  _deviceWatcher = new ManagementEventWatcher(query);
  _deviceWatcher.EventArrived += new EventArrivedEventHandler(OnDeviceEventArrived);
  _deviceWatcher.Start();
  </code></pre>
  
  <p>It works on XP and Vista, but on XP I can hear the very noticeable sound of the hard drive being accessed every second. Is there another WMI query that will give me the events without the sound effect?</p>