Code:
/ 4.0 / 4.0 / untmp / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / fx / src / Net / System / Net / NetworkInformation / SystemIcmpV6Statistics.cs / 1305376 / 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]; } } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007. // Copyright (c) Microsoft Corporation. All rights reserved.
Link Menu
This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- StrokeNode.cs
- ConfigDefinitionUpdates.cs
- CompilerHelpers.cs
- TextProperties.cs
- ExtendedPropertiesHandler.cs
- PositiveTimeSpanValidator.cs
- TextParaLineResult.cs
- KoreanLunisolarCalendar.cs
- PointAnimation.cs
- QueryStringParameter.cs
- SelectionItemPattern.cs
- ByteStreamMessageEncoder.cs
- RegistryKey.cs
- ParagraphVisual.cs
- Queue.cs
- ExpressionBindingCollection.cs
- Slider.cs
- HttpListener.cs
- Scene3D.cs
- HierarchicalDataSourceControl.cs
- ReadOnlyHierarchicalDataSourceView.cs
- SmiXetterAccessMap.cs
- Misc.cs
- XPathAncestorQuery.cs
- Line.cs
- IImplicitResourceProvider.cs
- BooleanAnimationBase.cs
- TransactionScope.cs
- PerformanceCounterPermissionEntry.cs
- QueryStringParameter.cs
- StyleBamlRecordReader.cs
- ProxyWebPartManager.cs
- AnonymousIdentificationModule.cs
- PaperSize.cs
- _LocalDataStoreMgr.cs
- CustomError.cs
- RequestQueue.cs
- Queue.cs
- NotifyParentPropertyAttribute.cs
- AmbiguousMatchException.cs
- UnsafeNativeMethods.cs
- ThreadExceptionDialog.cs
- XmlSerializerNamespaces.cs
- StyleConverter.cs
- QueryPageSettingsEventArgs.cs
- RelativeSource.cs
- HitTestFilterBehavior.cs
- CodeTypeParameter.cs
- CodeGenerator.cs
- SystemIPGlobalStatistics.cs
- DataGridTextBox.cs
- XsdBuildProvider.cs
- ItemList.cs
- ServiceDescription.cs
- ViewCellSlot.cs
- UnescapedXmlDiagnosticData.cs
- SignatureDescription.cs
- CodeCompileUnit.cs
- TcpChannelHelper.cs
- SqlWriter.cs
- DrawingContext.cs
- StubHelpers.cs
- TypeExtensions.cs
- NameNode.cs
- SpecularMaterial.cs
- ConsoleKeyInfo.cs
- RawStylusSystemGestureInputReport.cs
- Quaternion.cs
- UpdateCommand.cs
- CodeEventReferenceExpression.cs
- SyndicationLink.cs
- webeventbuffer.cs
- RegexParser.cs
- XmlBinaryReader.cs
- MemberProjectedSlot.cs
- ServiceThrottlingBehavior.cs
- EditorZoneBase.cs
- DbConnectionPoolIdentity.cs
- SchemaAttDef.cs
- TimeoutConverter.cs
- EncodingTable.cs
- SerializationSectionGroup.cs
- InputReport.cs
- SqlConnectionPoolProviderInfo.cs
- RestHandler.cs
- _WebProxyDataBuilder.cs
- SystemFonts.cs
- ArrangedElement.cs
- FileDialogPermission.cs
- RegexFCD.cs
- CompositeFontParser.cs
- Frame.cs
- HealthMonitoringSectionHelper.cs
- UICuesEvent.cs
- BaseCollection.cs
- PackWebRequestFactory.cs
- _CacheStreams.cs
- SoapReflectionImporter.cs
- BamlMapTable.cs
- XmlIlVisitor.cs