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
- Lock.cs
- TypeProvider.cs
- ToolStripScrollButton.cs
- ProxyHelper.cs
- PatternMatcher.cs
- UnsafeNativeMethods.cs
- FileInfo.cs
- LayoutEditorPart.cs
- DefaultWorkflowTransactionService.cs
- ComponentEditorForm.cs
- OleDbFactory.cs
- SizeValueSerializer.cs
- HttpModulesSection.cs
- DictionaryCustomTypeDescriptor.cs
- RequiredAttributeAttribute.cs
- RuntimeHandles.cs
- Vector3DKeyFrameCollection.cs
- HostedHttpTransportManager.cs
- ParenthesizePropertyNameAttribute.cs
- BitmapEffectGroup.cs
- SettingsBase.cs
- Int32Converter.cs
- Input.cs
- WebPartConnection.cs
- ImageListStreamer.cs
- DesignerPainter.cs
- ErrorFormatterPage.cs
- ReferentialConstraint.cs
- GuidelineCollection.cs
- DataGridViewCheckBoxColumn.cs
- HeaderLabel.cs
- ManagementObjectSearcher.cs
- XmlQualifiedNameTest.cs
- ByteStreamMessageEncodingElement.cs
- SystemUnicastIPAddressInformation.cs
- UIElementParagraph.cs
- DocumentViewerConstants.cs
- TabControlDesigner.cs
- Double.cs
- InputLanguageEventArgs.cs
- HtmlCalendarAdapter.cs
- AliasedExpr.cs
- ManagementOperationWatcher.cs
- ProjectionCamera.cs
- Double.cs
- WindowsToolbar.cs
- EllipseGeometry.cs
- PackageRelationshipSelector.cs
- InstalledVoice.cs
- ValidatingPropertiesEventArgs.cs
- CodeNamespaceImportCollection.cs
- WithParamAction.cs
- WebEventCodes.cs
- UdpAnnouncementEndpoint.cs
- StorageSetMapping.cs
- XmlSchemaSimpleContent.cs
- ResourcePart.cs
- PlatformNotSupportedException.cs
- AuthenticationService.cs
- ExpandSegment.cs
- TreeNodeStyleCollection.cs
- BaseDataListDesigner.cs
- EntityDataSourceWrapperCollection.cs
- Stack.cs
- TransportDefaults.cs
- RadioButton.cs
- DecodeHelper.cs
- NameScopePropertyAttribute.cs
- RoutedCommand.cs
- DataReaderContainer.cs
- GeneralEndpointIdentity.cs
- Comparer.cs
- Int16AnimationBase.cs
- PropertyGrid.cs
- EncoderReplacementFallback.cs
- QueryCacheEntry.cs
- FlatButtonAppearance.cs
- DiscreteKeyFrames.cs
- XNodeNavigator.cs
- ImageField.cs
- XmlSchemaAny.cs
- PropertyManager.cs
- LinqDataSourceView.cs
- SendKeys.cs
- SafeSecurityHandles.cs
- TreeViewItem.cs
- DataBindingList.cs
- SplashScreenNativeMethods.cs
- SymbolType.cs
- WebConfigurationHost.cs
- KerberosReceiverSecurityToken.cs
- xsdvalidator.cs
- VectorAnimationBase.cs
- CommandTreeTypeHelper.cs
- clipboard.cs
- ErrorWebPart.cs
- CodeVariableReferenceExpression.cs
- ReturnType.cs
- RectConverter.cs
- DesignerLinkAdapter.cs