Code:
/ FX-1434 / FX-1434 / 1.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
- MediaElement.cs
- InputScopeAttribute.cs
- WebServiceTypeData.cs
- DataGridViewRowCollection.cs
- SortQuery.cs
- ConfigurationManagerInternalFactory.cs
- Color.cs
- SessionPageStatePersister.cs
- X500Name.cs
- DesignerLoader.cs
- StreamUpgradeInitiator.cs
- ACE.cs
- UnsafeCollabNativeMethods.cs
- CodeStatementCollection.cs
- AuthorizationRule.cs
- BitmapEffect.cs
- AvTraceFormat.cs
- RegularExpressionValidator.cs
- ButtonChrome.cs
- ImageClickEventArgs.cs
- CombinedGeometry.cs
- PartitionResolver.cs
- OutOfMemoryException.cs
- ContainerAction.cs
- InputManager.cs
- ContextProperty.cs
- CharacterHit.cs
- RIPEMD160.cs
- DateTimeFormat.cs
- OutputWindow.cs
- SynchronizedDispatch.cs
- FieldTemplateUserControl.cs
- StyleSheetComponentEditor.cs
- RoleGroupCollection.cs
- VolatileResourceManager.cs
- RestClientProxyHandler.cs
- Serializer.cs
- FixedNode.cs
- DataGridTableCollection.cs
- SemanticResultKey.cs
- Model3DGroup.cs
- SettingsProviderCollection.cs
- XPathArrayIterator.cs
- QuadraticBezierSegment.cs
- SQLBytes.cs
- HwndSourceParameters.cs
- TextEffect.cs
- MissingSatelliteAssemblyException.cs
- PeerNameRecord.cs
- WorkflowOperationAsyncResult.cs
- DeviceContexts.cs
- TextParagraphView.cs
- GiveFeedbackEvent.cs
- QuaternionRotation3D.cs
- DriveInfo.cs
- MultipleViewPattern.cs
- ReferenceEqualityComparer.cs
- DeclarativeCatalogPart.cs
- UInt64Converter.cs
- PackageDigitalSignature.cs
- mda.cs
- MimeMultiPart.cs
- WindowProviderWrapper.cs
- ItemContainerPattern.cs
- BoundField.cs
- EntityAdapter.cs
- EventDescriptor.cs
- ToolStripPanel.cs
- FullTextState.cs
- Transform.cs
- StatusBar.cs
- Directory.cs
- BezierSegment.cs
- InvalidPrinterException.cs
- RectAnimationUsingKeyFrames.cs
- PropertyInformation.cs
- EmptyElement.cs
- PageCache.cs
- _Rfc2616CacheValidators.cs
- ColumnResizeUndoUnit.cs
- ThreadPool.cs
- PassportAuthenticationEventArgs.cs
- TimeIntervalCollection.cs
- EditingCoordinator.cs
- safelinkcollection.cs
- UserPreferenceChangedEventArgs.cs
- DataBoundLiteralControl.cs
- RequestCache.cs
- ToolStripContentPanel.cs
- Control.cs
- SamlAssertionKeyIdentifierClause.cs
- Matrix.cs
- QueryExpr.cs
- TdsParserHelperClasses.cs
- GacUtil.cs
- PrivateFontCollection.cs
- ToolStripContentPanelRenderEventArgs.cs
- SingleStorage.cs
- SchemaMerger.cs
- BinaryObjectWriter.cs