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
- PrintEvent.cs
- XhtmlMobileTextWriter.cs
- HtmlInputImage.cs
- OdbcTransaction.cs
- SystemPens.cs
- ComboBox.cs
- CodeParameterDeclarationExpressionCollection.cs
- CacheChildrenQuery.cs
- BufferedStream.cs
- SqlFlattener.cs
- MouseButtonEventArgs.cs
- CommandEventArgs.cs
- HtmlControl.cs
- Html32TextWriter.cs
- jithelpers.cs
- InvariantComparer.cs
- UriExt.cs
- RequestQueue.cs
- MLangCodePageEncoding.cs
- DBConnection.cs
- FunctionParameter.cs
- TextTreeTextElementNode.cs
- HtmlShimManager.cs
- ParameterCollection.cs
- SQLUtility.cs
- XmlFormatExtensionPointAttribute.cs
- Button.cs
- DataConnectionHelper.cs
- RowType.cs
- CrossContextChannel.cs
- WinFormsUtils.cs
- StyleTypedPropertyAttribute.cs
- MobileCategoryAttribute.cs
- TableCellCollection.cs
- TargetControlTypeCache.cs
- BaseParaClient.cs
- ObjectViewListener.cs
- SectionVisual.cs
- login.cs
- BasicExpressionVisitor.cs
- RenderingEventArgs.cs
- TimeSpanStorage.cs
- DrawItemEvent.cs
- TextTreeExtractElementUndoUnit.cs
- DataGridColumnDropSeparator.cs
- ActivationServices.cs
- unsafenativemethodsother.cs
- EventWaitHandle.cs
- LambdaCompiler.Binary.cs
- RuleInfoComparer.cs
- ReachDocumentSequenceSerializerAsync.cs
- HostedTransportConfigurationManager.cs
- _NestedSingleAsyncResult.cs
- ChannelBinding.cs
- OleDbParameterCollection.cs
- PathTooLongException.cs
- ValueQuery.cs
- InvalidEnumArgumentException.cs
- XMLSyntaxException.cs
- DataServiceHostWrapper.cs
- Canvas.cs
- SmiEventStream.cs
- SamlDelegatingWriter.cs
- TraceContext.cs
- EmptyElement.cs
- TableLayoutStyleCollection.cs
- BufferedWebEventProvider.cs
- HostedBindingBehavior.cs
- MaskPropertyEditor.cs
- DbParameterHelper.cs
- CodeTypeDelegate.cs
- CmsInterop.cs
- Calendar.cs
- ImageButton.cs
- OleDbRowUpdatedEvent.cs
- KnownTypes.cs
- SafeArchiveContext.cs
- SqlProcedureAttribute.cs
- Matrix3D.cs
- TemplateAction.cs
- SqlVersion.cs
- mda.cs
- RenderCapability.cs
- ElementUtil.cs
- AttributeQuery.cs
- AndCondition.cs
- EntityDataSourceConfigureObjectContext.cs
- Metafile.cs
- TemplatedControlDesigner.cs
- OdbcDataAdapter.cs
- ParameterInfo.cs
- RegexWorker.cs
- XmlSchemas.cs
- TrackingMemoryStreamFactory.cs
- EntitySqlException.cs
- EmptyEnumerator.cs
- DocumentOrderComparer.cs
- HtmlInputSubmit.cs
- ObjectViewEntityCollectionData.cs
- HelloOperation11AsyncResult.cs