private void Dispose(bool disposing)
        {
            HandleRef dirMon = this._ndirMonCompletionHandle;

            if (dirMon.Handle != IntPtr.Zero)
            {
                this._ndirMonCompletionHandle = new HandleRef(this, IntPtr.Zero);
                UnsafeNativeMethods.DirMonClose(dirMon);
                Interlocked.Decrement(ref _activeDirMonCompletions);
            }
        }