protected virtual void Dispose(bool aDisposing)
 {
   if (!this.fDisposed)
   {
     if (fInternal.Handle != IntPtr.Zero)
     {
       fInternal.ReleaseHandle();
       fInternal = null;
     }
   }
   fDisposed = true;
 }
 /// <summary>
 /// Internal initialize method
 /// Sets all the private fields initial values and enables message trapping
 /// </summary>
 private void Initialize()
 {
   fInternal = new _DeviceVolumeMonitor(this);
   fDisposed = false;
   fEnabled = false;
   fAsync = false;
   Enabled = true;
 }