public override void Dispose() { if (!m_disposed) { m_disposed = true; if (m_overlappedEntries != null) { m_overlappedEntries = null; m_overlappedEntriesHandle.Free(); } UnsafeMethods.CloseHandle(m_completionPortHandle); GC.SuppressFinalize(this); } }