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
- BamlLocalizableResource.cs
- ElementHostAutomationPeer.cs
- SqlDataSourceAdvancedOptionsForm.cs
- HtmlInputPassword.cs
- InternalBase.cs
- UIElementPropertyUndoUnit.cs
- ChannelSinkStacks.cs
- WebPartDisplayModeEventArgs.cs
- ElementAtQueryOperator.cs
- GetPolicyDetailsRequest.cs
- DependencyStoreSurrogate.cs
- RequestBringIntoViewEventArgs.cs
- InputScopeConverter.cs
- TemplateBindingExpressionConverter.cs
- DataGridViewSelectedColumnCollection.cs
- ClickablePoint.cs
- ToolstripProfessionalRenderer.cs
- XmlWhitespace.cs
- RtfToken.cs
- ValueConversionAttribute.cs
- IdentifierCollection.cs
- CommandField.cs
- ZoneButton.cs
- TickBar.cs
- InvalidateEvent.cs
- MediaContext.cs
- CodeArrayIndexerExpression.cs
- StackBuilderSink.cs
- PhysicalAddress.cs
- PagedDataSource.cs
- CompoundFileIOPermission.cs
- CheckableControlBaseAdapter.cs
- FrameDimension.cs
- WebCategoryAttribute.cs
- SystemThemeKey.cs
- EventDriven.cs
- UrlMappingsModule.cs
- ObjectItemAttributeAssemblyLoader.cs
- PasswordBox.cs
- ActivityInterfaces.cs
- SHA1.cs
- StrongTypingException.cs
- XmlByteStreamWriter.cs
- MobileListItem.cs
- ForwardPositionQuery.cs
- GridView.cs
- LoadedEvent.cs
- ScriptComponentDescriptor.cs
- XmlNamespaceMapping.cs
- TransactionInformation.cs
- PathParser.cs
- NavigationPropertyEmitter.cs
- MulticastNotSupportedException.cs
- FileSystemInfo.cs
- CodeDirectionExpression.cs
- FileInfo.cs
- TableHeaderCell.cs
- HttpWrapper.cs
- InstanceView.cs
- SizeChangedEventArgs.cs
- UriScheme.cs
- QueryCorrelationInitializer.cs
- StateMachineWorkflow.cs
- OdbcError.cs
- PixelFormat.cs
- SmiSettersStream.cs
- GrammarBuilderDictation.cs
- TableItemProviderWrapper.cs
- BitFlagsGenerator.cs
- TextEditorTables.cs
- NamespaceListProperty.cs
- SqlDataSourceCache.cs
- String.cs
- ExpressionLink.cs
- precedingsibling.cs
- MsdtcClusterUtils.cs
- BinaryNode.cs
- LookupNode.cs
- OdbcParameter.cs
- MarkupWriter.cs
- DataGridViewRowPostPaintEventArgs.cs
- BitStream.cs
- ServerType.cs
- ColumnResizeAdorner.cs
- DataServiceException.cs
- CoTaskMemHandle.cs
- ServiceModelReg.cs
- CryptoStream.cs
- CodeEntryPointMethod.cs
- MenuItemBindingCollection.cs
- SystemIPInterfaceStatistics.cs
- _ServiceNameStore.cs
- OperatingSystem.cs
- EdmTypeAttribute.cs
- TableCellCollection.cs
- XmlAttribute.cs
- BlurBitmapEffect.cs
- Padding.cs
- WindowsFormsHelpers.cs
- InheritanceContextHelper.cs