Code:
/ 4.0 / 4.0 / untmp / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / fx / src / Net / System / Net / NetworkInformation / SystemIcmpV6Statistics.cs / 1305376 / 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]; } } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007. // Copyright (c) Microsoft Corporation. All rights reserved.
Link Menu
This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- BindToObject.cs
- TraceFilter.cs
- ResourceAssociationTypeEnd.cs
- ThemeInfoAttribute.cs
- CacheEntry.cs
- StyleModeStack.cs
- ConfigXmlAttribute.cs
- CurrentTimeZone.cs
- KeyProperty.cs
- IIS7WorkerRequest.cs
- EdmToObjectNamespaceMap.cs
- WebPartTransformerAttribute.cs
- FrameAutomationPeer.cs
- StylusDownEventArgs.cs
- CapabilitiesRule.cs
- BindingOperations.cs
- EditingCommands.cs
- Form.cs
- WindowPatternIdentifiers.cs
- ControlCollection.cs
- EventDescriptorCollection.cs
- TextShapeableCharacters.cs
- HttpRuntimeSection.cs
- PriorityItem.cs
- WindowHideOrCloseTracker.cs
- HtmlElementErrorEventArgs.cs
- HeaderedContentControl.cs
- PrimitiveOperationFormatter.cs
- FontEditor.cs
- ListViewHitTestInfo.cs
- DataControlFieldCollection.cs
- LocalFileSettingsProvider.cs
- ContentPlaceHolder.cs
- XmlSchemaRedefine.cs
- Page.cs
- TabItem.cs
- SchemaMerger.cs
- ExpressionQuoter.cs
- Helper.cs
- DecoderExceptionFallback.cs
- StylusPointProperties.cs
- InvalidDataException.cs
- SwitchLevelAttribute.cs
- AnonymousIdentificationModule.cs
- DocumentSchemaValidator.cs
- basecomparevalidator.cs
- HMACSHA384.cs
- BindingBase.cs
- WindowsFormsHelpers.cs
- Table.cs
- PointConverter.cs
- MimeObjectFactory.cs
- DirectoryObjectSecurity.cs
- TriggerCollection.cs
- TemplateXamlParser.cs
- AuthenticationModulesSection.cs
- WebServiceEnumData.cs
- UIHelper.cs
- remotingproxy.cs
- lengthconverter.cs
- ParameterCollection.cs
- EncoderFallback.cs
- WorkingDirectoryEditor.cs
- Memoizer.cs
- ProfileSettings.cs
- LocatorPart.cs
- ActivityDelegate.cs
- StateDesigner.TransitionInfo.cs
- HierarchicalDataBoundControl.cs
- PathSegment.cs
- ListCommandEventArgs.cs
- MobileUITypeEditor.cs
- WindowsListViewItemCheckBox.cs
- DiscoveryInnerClientManaged11.cs
- TreeChangeInfo.cs
- TypeDescriptionProvider.cs
- ObjectHandle.cs
- SemaphoreSecurity.cs
- QilStrConcat.cs
- ParameterBuilder.cs
- ProcessHostServerConfig.cs
- RowToFieldTransformer.cs
- Attributes.cs
- IApplicationTrustManager.cs
- XamlReader.cs
- StructuredTypeInfo.cs
- CodeAttachEventStatement.cs
- DataGridViewComboBoxColumn.cs
- Rijndael.cs
- XmlReflectionMember.cs
- MetadataAssemblyHelper.cs
- HiddenFieldPageStatePersister.cs
- keycontainerpermission.cs
- DocobjHost.cs
- LinqTreeNodeEvaluator.cs
- OdbcEnvironmentHandle.cs
- IgnoreFlushAndCloseStream.cs
- ThreadPool.cs
- ItemsControl.cs
- ElementsClipboardData.cs