Code:
/ DotNET / DotNET / 8.0 / untmp / whidbey / REDBITS / ndp / fx / src / Net / System / Net / NetworkInformation / SystemIcmpV6Statistics.cs / 1 / SystemIcmpV6Statistics.cs
////// namespace System.Net.NetworkInformation { using System.Net.Sockets; using System; using System.ComponentModel; internal enum IcmpV6StatType { DestinationUnreachable = 1, PacketTooBig = 2, TimeExceeded = 3, ParameterProblem = 4, EchoRequest = 128, EchoReply = 129, MembershipQuery = 130, MembershipReport = 131, MembershipReduction = 132, RouterSolicit = 133, RouterAdvertisement = 134, NeighborSolict = 135, NeighborAdvertisement = 136, Redirect = 137, }; /// /// Provides support for ip configuation information and statistics. /// Icmp statistics for Ipv6. internal class SystemIcmpV6Statistics:IcmpV6Statistics { MibIcmpInfoEx stats; internal SystemIcmpV6Statistics(){ if (!ComNetOS.IsPostWin2K){ throw new PlatformNotSupportedException(SR.GetString(SR.WinXPRequired)); } uint result = UnsafeNetInfoNativeMethods.GetIcmpStatisticsEx(out stats,AddressFamily.InterNetworkV6); if (result != IpHelperErrors.Success) { throw new NetworkInformationException((int)result); } } public override long MessagesSent{get {return (long)stats.outStats.dwMsgs;}} public override long MessagesReceived{get {return (long)stats.inStats.dwMsgs;}} public override long ErrorsSent{get {return (long)stats.outStats.dwErrors;}} public override long ErrorsReceived{get {return (long)stats.inStats.dwErrors;}} public override long DestinationUnreachableMessagesSent{ get { return stats.outStats.rgdwTypeCount[(long)IcmpV6StatType.DestinationUnreachable]; } } public override long DestinationUnreachableMessagesReceived{ get { return stats.inStats.rgdwTypeCount[(long)IcmpV6StatType.DestinationUnreachable]; } } public override long PacketTooBigMessagesSent{ get { return stats.outStats.rgdwTypeCount[(long)IcmpV6StatType.PacketTooBig]; } } public override long PacketTooBigMessagesReceived{ get { return stats.inStats.rgdwTypeCount[(long)IcmpV6StatType.PacketTooBig]; } } public override long TimeExceededMessagesSent{ get { return stats.outStats.rgdwTypeCount[(long)IcmpV6StatType.TimeExceeded]; } } public override long TimeExceededMessagesReceived{ get { return stats.inStats.rgdwTypeCount[(long)IcmpV6StatType.TimeExceeded]; } } public override long ParameterProblemsSent{ get { return stats.outStats.rgdwTypeCount[(long)IcmpV6StatType.ParameterProblem]; } } public override long ParameterProblemsReceived{ get { return stats.inStats.rgdwTypeCount[(long)IcmpV6StatType.ParameterProblem]; } } public override long EchoRequestsSent{ get { return stats.outStats.rgdwTypeCount[(long)IcmpV6StatType.EchoRequest]; } } public override long EchoRequestsReceived{ get { return stats.inStats.rgdwTypeCount[(long)IcmpV6StatType.EchoRequest]; } } public override long EchoRepliesSent{ get { return stats.outStats.rgdwTypeCount[(long)IcmpV6StatType.EchoReply]; } } public override long EchoRepliesReceived{ get { return stats.inStats.rgdwTypeCount[(long)IcmpV6StatType.EchoReply]; } } public override long MembershipQueriesSent{ get { return stats.outStats.rgdwTypeCount[(long)IcmpV6StatType.MembershipQuery]; } } public override long MembershipQueriesReceived{ get { return stats.inStats.rgdwTypeCount[(long)IcmpV6StatType.MembershipQuery]; } } public override long MembershipReportsSent{ get { return stats.outStats.rgdwTypeCount[(long)IcmpV6StatType.MembershipReport]; } } public override long MembershipReportsReceived{ get { return stats.inStats.rgdwTypeCount[(long)IcmpV6StatType.MembershipReport]; } } public override long MembershipReductionsSent{ get { return stats.outStats.rgdwTypeCount[(long)IcmpV6StatType.MembershipReduction]; } } public override long MembershipReductionsReceived{ get { return stats.inStats.rgdwTypeCount[(long)IcmpV6StatType.MembershipReduction]; } } public override long RouterAdvertisementsSent{ get { return stats.outStats.rgdwTypeCount[(long)IcmpV6StatType.RouterAdvertisement]; } } public override long RouterAdvertisementsReceived{ get { return stats.inStats.rgdwTypeCount[(long)IcmpV6StatType.RouterAdvertisement]; } } public override long RouterSolicitsSent{ get { return stats.outStats.rgdwTypeCount[(long)IcmpV6StatType.RouterSolicit]; } } public override long RouterSolicitsReceived{ get { return stats.inStats.rgdwTypeCount[(long)IcmpV6StatType.RouterSolicit]; } } public override long NeighborAdvertisementsSent{ get { return stats.outStats.rgdwTypeCount[(long)IcmpV6StatType.NeighborAdvertisement]; } } public override long NeighborAdvertisementsReceived{ get { return stats.inStats.rgdwTypeCount[(long)IcmpV6StatType.NeighborAdvertisement]; } } public override long NeighborSolicitsSent{ get { return stats.outStats.rgdwTypeCount[(long)IcmpV6StatType.NeighborSolict]; } } public override long NeighborSolicitsReceived{ get { return stats.inStats.rgdwTypeCount[(long)IcmpV6StatType.NeighborSolict]; } } public override long RedirectsSent{ get { return stats.outStats.rgdwTypeCount[(long)IcmpV6StatType.Redirect]; } } public override long RedirectsReceived{ get { return stats.inStats.rgdwTypeCount[(long)IcmpV6StatType.Redirect]; } } } }
Link Menu

This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- DropSource.cs
- WebPartManagerInternals.cs
- CharacterBuffer.cs
- RenderData.cs
- SelectionProcessor.cs
- ChameleonKey.cs
- exports.cs
- DataGridViewColumnCollection.cs
- ScrollViewerAutomationPeer.cs
- TableLayoutSettingsTypeConverter.cs
- OleDbReferenceCollection.cs
- PackagingUtilities.cs
- SelectionItemProviderWrapper.cs
- DataError.cs
- Triplet.cs
- XmlMemberMapping.cs
- TableAdapterManagerNameHandler.cs
- ErrorHandlerModule.cs
- JournalEntry.cs
- SessionSwitchEventArgs.cs
- DoubleUtil.cs
- BinaryConverter.cs
- TimeSpanSecondsOrInfiniteConverter.cs
- Token.cs
- RuntimeConfigurationRecord.cs
- LiteralLink.cs
- CurrencyManager.cs
- PartialList.cs
- StreamAsIStream.cs
- AssemblyCacheEntry.cs
- CopyNodeSetAction.cs
- ProviderUtil.cs
- DateTimeConverter2.cs
- EventLogTraceListener.cs
- ResolveNameEventArgs.cs
- FrameSecurityDescriptor.cs
- WindowsTreeView.cs
- ConditionCollection.cs
- BuildProviderCollection.cs
- LinkLabelLinkClickedEvent.cs
- DrawingContextDrawingContextWalker.cs
- externdll.cs
- ParseChildrenAsPropertiesAttribute.cs
- PerformanceCounterLib.cs
- ListBase.cs
- WindowsStatusBar.cs
- ColumnCollection.cs
- PathFigureCollection.cs
- CheckBoxList.cs
- wgx_commands.cs
- RequestCacheValidator.cs
- HttpClientCertificate.cs
- FileDialog_Vista_Interop.cs
- MaskedTextBox.cs
- RenderCapability.cs
- PresentationAppDomainManager.cs
- Internal.cs
- Pointer.cs
- BidirectionalDictionary.cs
- TargetControlTypeAttribute.cs
- PanelStyle.cs
- LayoutEditorPart.cs
- GridViewEditEventArgs.cs
- CategoryAttribute.cs
- Size.cs
- TemplateBuilder.cs
- StackOverflowException.cs
- Trace.cs
- VirtualizingStackPanel.cs
- FlagsAttribute.cs
- TextServicesContext.cs
- AssemblyHash.cs
- MediaTimeline.cs
- ThreadStaticAttribute.cs
- Timeline.cs
- GlobalItem.cs
- BitmapEncoder.cs
- WebConfigurationManager.cs
- ProcessModelInfo.cs
- DbXmlEnabledProviderManifest.cs
- SponsorHelper.cs
- ClientSponsor.cs
- DynamicMethod.cs
- XmlDataSourceNodeDescriptor.cs
- TreeNodeMouseHoverEvent.cs
- OracleTransaction.cs
- StickyNoteHelper.cs
- StylusOverProperty.cs
- COM2ExtendedUITypeEditor.cs
- ListCollectionView.cs
- AttributeProviderAttribute.cs
- DBProviderConfigurationHandler.cs
- UInt16Storage.cs
- tooltip.cs
- InputMethodStateTypeInfo.cs
- AutomationPatternInfo.cs
- PersonalizationEntry.cs
- MulticastDelegate.cs
- OdbcParameterCollection.cs
- CodeDirectoryCompiler.cs