/// <summary> /// Closes this adapter /// </summary> public virtual void Close() { if (PcapHandle == IntPtr.Zero) { return; } if (Started) { StopCapture(); } SafeNativeMethods.pcap_close(PcapHandle); PcapHandle = IntPtr.Zero; //Remove event handlers if (OnPacketArrival != null) { foreach (Pcap.PacketArrivalEvent pa in OnPacketArrival.GetInvocationList()) { OnPacketArrival -= pa; } } if (OnPcapStatistics != null) { foreach (Pcap.PcapStatisticsEvent pse in OnPcapStatistics.GetInvocationList()) { OnPcapStatistics -= pse; } } }
/// <summary> /// Close the device /// </summary> public override void Close() { if (OnPcapStatistics != null) { foreach (StatisticsModeEventHandler pse in OnPcapStatistics.GetInvocationList()) { OnPcapStatistics -= pse; } } // call the base method base.Close(); }