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
- ListSourceHelper.cs
- MultipartIdentifier.cs
- AlphaSortedEnumConverter.cs
- DiscoveryEndpointElement.cs
- Transform.cs
- DesignerLoader.cs
- DataViewListener.cs
- MatrixTransform.cs
- VariableBinder.cs
- ContainerFilterService.cs
- ToggleButton.cs
- HtmlInputCheckBox.cs
- dataprotectionpermission.cs
- Method.cs
- ActiveXSite.cs
- TypeConverterAttribute.cs
- FlowStep.cs
- WindowsListViewSubItem.cs
- DesigntimeLicenseContext.cs
- CompositeControl.cs
- ListenerConfig.cs
- HealthMonitoringSectionHelper.cs
- ArgumentValue.cs
- XmlNode.cs
- HtmlTextArea.cs
- PrintDocument.cs
- EventWaitHandleSecurity.cs
- IPPacketInformation.cs
- ILGen.cs
- DataGridViewLinkCell.cs
- EntityDataSourceEntityTypeFilterConverter.cs
- FormsAuthenticationTicket.cs
- HandlerFactoryCache.cs
- ClientData.cs
- TranslateTransform.cs
- XComponentModel.cs
- CorrelationTokenTypeConvertor.cs
- ReachDocumentReferenceCollectionSerializerAsync.cs
- Shape.cs
- BufferBuilder.cs
- DispatcherFrame.cs
- SoapServerMessage.cs
- AssemblyUtil.cs
- ProfilePropertyMetadata.cs
- Content.cs
- WMICapabilities.cs
- MorphHelper.cs
- GetPageNumberCompletedEventArgs.cs
- GenericQueueSurrogate.cs
- UriScheme.cs
- PagePropertiesChangingEventArgs.cs
- Debugger.cs
- XmlSchemaProviderAttribute.cs
- BypassElement.cs
- sitestring.cs
- Property.cs
- RepeaterItem.cs
- BatchStream.cs
- COM2EnumConverter.cs
- TableStyle.cs
- ConfigurationSectionGroup.cs
- ReferenceAssemblyAttribute.cs
- MetafileHeaderWmf.cs
- DataTableMapping.cs
- CheckBoxAutomationPeer.cs
- DataGridViewButtonColumn.cs
- CacheDict.cs
- TextServicesLoader.cs
- ColumnTypeConverter.cs
- ColumnReorderedEventArgs.cs
- DataGridViewElement.cs
- SqlClientWrapperSmiStreamChars.cs
- SessionEndedEventArgs.cs
- storepermissionattribute.cs
- XPathNode.cs
- SchemaImporterExtension.cs
- GridViewColumnHeader.cs
- ObfuscationAttribute.cs
- ProcessHostServerConfig.cs
- MediaScriptCommandRoutedEventArgs.cs
- ShellProvider.cs
- CachedCompositeFamily.cs
- DtrList.cs
- Model3DGroup.cs
- Operator.cs
- InputElement.cs
- XmlExceptionHelper.cs
- Stack.cs
- DesignOnlyAttribute.cs
- EncoderNLS.cs
- TraceLevelStore.cs
- CodeCommentStatement.cs
- HwndSourceKeyboardInputSite.cs
- XmlNamespaceManager.cs
- PerformanceCounterCategory.cs
- IncrementalCompileAnalyzer.cs
- DynamicRenderer.cs
- DSASignatureFormatter.cs
- SqlDataSourceSelectingEventArgs.cs
- MethodBuilder.cs