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
- SchemaElement.cs
- SmiRequestExecutor.cs
- XPathAncestorIterator.cs
- XNodeValidator.cs
- StringValidatorAttribute.cs
- ProcessRequestArgs.cs
- DataGridItemEventArgs.cs
- BinaryWriter.cs
- DbCommandTree.cs
- DateBoldEvent.cs
- PixelFormat.cs
- InfoCardRSAPKCS1SignatureFormatter.cs
- OpenTypeLayout.cs
- StorageConditionPropertyMapping.cs
- TransformBlockRequest.cs
- __ConsoleStream.cs
- HtmlButton.cs
- JpegBitmapDecoder.cs
- NativeActivityContext.cs
- ViewgenContext.cs
- DataServiceException.cs
- MailHeaderInfo.cs
- PromptStyle.cs
- ByValueEqualityComparer.cs
- Canvas.cs
- CompilationUnit.cs
- AsyncCompletedEventArgs.cs
- OracleParameterBinding.cs
- EntityContainer.cs
- GridEntry.cs
- Typography.cs
- BindingExpressionUncommonField.cs
- EntityDataSourceEntitySetNameItem.cs
- TransportSecurityHelpers.cs
- WindowsGraphicsCacheManager.cs
- BaseParser.cs
- JournalEntry.cs
- PerspectiveCamera.cs
- EventBuilder.cs
- X500Name.cs
- ReferencedCollectionType.cs
- RowToParametersTransformer.cs
- LockCookie.cs
- FrameworkContentElementAutomationPeer.cs
- FormCollection.cs
- WorkflowPrinting.cs
- DataServiceRequestArgs.cs
- control.ime.cs
- PropertyPathConverter.cs
- GradientBrush.cs
- HttpVersion.cs
- XmlImplementation.cs
- MachineKeyConverter.cs
- SystemTcpConnection.cs
- StoreAnnotationsMap.cs
- DirtyTextRange.cs
- BoolExpr.cs
- HttpHandler.cs
- FixedStringLookup.cs
- SerializationSectionGroup.cs
- UnknownWrapper.cs
- WebPartPersonalization.cs
- NumberSubstitution.cs
- BindingList.cs
- StrokeNodeOperations2.cs
- CngKeyCreationParameters.cs
- ContractSearchPattern.cs
- AssociatedControlConverter.cs
- DateTime.cs
- ConcurrencyMode.cs
- GlyphInfoList.cs
- DynamicILGenerator.cs
- SafeNativeMethods.cs
- NotificationContext.cs
- OdbcTransaction.cs
- EntityDataSourceDesigner.cs
- TableItemProviderWrapper.cs
- OleDbFactory.cs
- FileSystemWatcher.cs
- DataViewManager.cs
- ASCIIEncoding.cs
- BooleanFunctions.cs
- Registration.cs
- SafeFileMappingHandle.cs
- TreeChangeInfo.cs
- ConsoleTraceListener.cs
- DefaultParameterValueAttribute.cs
- ProcessThreadCollection.cs
- StateItem.cs
- SecUtil.cs
- CounterSampleCalculator.cs
- LiteralControl.cs
- MaterialCollection.cs
- RegexCompilationInfo.cs
- MediaCommands.cs
- SerializationTrace.cs
- CommandField.cs
- TemplateBuilder.cs
- Mutex.cs
- ContractCodeDomInfo.cs