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
- OneWayElement.cs
- GeometryGroup.cs
- ElementUtil.cs
- DragSelectionMessageFilter.cs
- MouseEventArgs.cs
- BrowserDefinition.cs
- DataBindingHandlerAttribute.cs
- DeferredReference.cs
- TextUtf8RawTextWriter.cs
- SafeEventLogReadHandle.cs
- ProvidersHelper.cs
- HttpCacheVary.cs
- EventSourceCreationData.cs
- OperationResponse.cs
- OdbcConnection.cs
- DataSourceHelper.cs
- RegisteredArrayDeclaration.cs
- FastEncoderWindow.cs
- Unit.cs
- HtmlMeta.cs
- HttpFileCollectionWrapper.cs
- Maps.cs
- DiscoveryClientBindingElement.cs
- XmlILModule.cs
- EventBindingService.cs
- QualifiedCellIdBoolean.cs
- DiscoveryDocumentReference.cs
- COAUTHIDENTITY.cs
- ColorIndependentAnimationStorage.cs
- HttpCacheParams.cs
- ELinqQueryState.cs
- CodeSpit.cs
- PeerNameResolver.cs
- SpoolingTaskBase.cs
- NotSupportedException.cs
- OdbcConnectionString.cs
- IndicShape.cs
- DbConnectionClosed.cs
- DynamicActivityXamlReader.cs
- ImageAnimator.cs
- SqlCommandAsyncResult.cs
- ComplexLine.cs
- XomlCompilerError.cs
- PeerDuplexChannelListener.cs
- SubtreeProcessor.cs
- ValueTypeFixupInfo.cs
- SectionRecord.cs
- WriterOutput.cs
- NavigatingCancelEventArgs.cs
- NonParentingControl.cs
- FtpWebRequest.cs
- Misc.cs
- UnknownBitmapEncoder.cs
- DrawingVisual.cs
- DataGridCellsPresenter.cs
- CalendarDay.cs
- GroupByQueryOperator.cs
- LabelDesigner.cs
- SQLUtility.cs
- _DigestClient.cs
- XmlSchemaDocumentation.cs
- BrowsableAttribute.cs
- HtmlTableRowCollection.cs
- ExpressionBinding.cs
- AsyncResult.cs
- DataListItemCollection.cs
- StrictModeSecurityHeaderElementInferenceEngine.cs
- Point.cs
- AffineTransform3D.cs
- ToolStripScrollButton.cs
- ISessionStateStore.cs
- GridItemCollection.cs
- objectresult_tresulttype.cs
- AbstractDataSvcMapFileLoader.cs
- PermissionSetTriple.cs
- assemblycache.cs
- FormsAuthenticationEventArgs.cs
- GenericEnumerator.cs
- AddInController.cs
- ConfigurationException.cs
- ServiceDescriptionReflector.cs
- SchemaImporterExtensionElement.cs
- externdll.cs
- PropertyGeneratedEventArgs.cs
- WebSysDefaultValueAttribute.cs
- UInt64Converter.cs
- DefaultValueAttribute.cs
- CompoundFileIOPermission.cs
- ReferenceEqualityComparer.cs
- DataSourceCache.cs
- TripleDES.cs
- KoreanLunisolarCalendar.cs
- DateTimeSerializationSection.cs
- AutoGeneratedFieldProperties.cs
- MethodCallExpression.cs
- OledbConnectionStringbuilder.cs
- TextEditorSpelling.cs
- TableLayoutSettings.cs
- ConfigXmlComment.cs
- TraceFilter.cs