Code:
/ FX-1434 / FX-1434 / 1.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
- XappLauncher.cs
- Identifier.cs
- ContainerAction.cs
- XmlBindingWorker.cs
- XmlSchemaAnnotation.cs
- ComponentResourceKey.cs
- XmlDocumentFragment.cs
- LabelLiteral.cs
- DocumentViewerConstants.cs
- WindowHelperService.cs
- EpmSyndicationContentSerializer.cs
- MetadataArtifactLoaderXmlReaderWrapper.cs
- ManagementObject.cs
- CompiledIdentityConstraint.cs
- KeyValuePair.cs
- BaseProcessor.cs
- SendActivityDesignerTheme.cs
- Vector3DAnimation.cs
- XmlUtil.cs
- NavigationPropertySingletonExpression.cs
- Point3D.cs
- EdmFunction.cs
- ClassDataContract.cs
- ProvidersHelper.cs
- validationstate.cs
- DataSourceCache.cs
- XmlDocumentSerializer.cs
- WinFormsUtils.cs
- BindUriHelper.cs
- SmtpException.cs
- OleDbSchemaGuid.cs
- Debugger.cs
- PropertyEntry.cs
- XXXInfos.cs
- NamespaceDisplay.xaml.cs
- ListBoxAutomationPeer.cs
- XmlNotation.cs
- AttachedPropertyBrowsableAttribute.cs
- ExtendedProtectionPolicyElement.cs
- RepeatButton.cs
- IDReferencePropertyAttribute.cs
- ClientSettingsProvider.cs
- dsa.cs
- ApplicationBuildProvider.cs
- ContainerParaClient.cs
- ColumnResult.cs
- FontUnitConverter.cs
- XmlElementCollection.cs
- UpdateTranslator.cs
- DoubleConverter.cs
- brushes.cs
- SQLResource.cs
- PenThreadWorker.cs
- InertiaExpansionBehavior.cs
- LocalValueEnumerator.cs
- EntityFrameworkVersions.cs
- WebWorkflowRole.cs
- Transactions.cs
- ToolStripGripRenderEventArgs.cs
- Pkcs9Attribute.cs
- SafeNativeMethods.cs
- EventDescriptor.cs
- HttpDebugHandler.cs
- AspNetSynchronizationContext.cs
- XmlAttributeOverrides.cs
- WsatAdminException.cs
- CompilerGlobalScopeAttribute.cs
- AsyncPostBackErrorEventArgs.cs
- SqlVersion.cs
- DictionaryEntry.cs
- BaseValidator.cs
- InvokeHandlers.cs
- RtfNavigator.cs
- FileVersionInfo.cs
- DataError.cs
- AssemblyResourceLoader.cs
- EmbeddedMailObjectCollectionEditor.cs
- FrameworkObject.cs
- RawTextInputReport.cs
- InternalRelationshipCollection.cs
- ClientSettingsSection.cs
- SelectedGridItemChangedEvent.cs
- SecurityPermission.cs
- COSERVERINFO.cs
- ProcessManager.cs
- RangeValidator.cs
- ComplexTypeEmitter.cs
- DataServiceEntityAttribute.cs
- AttachedPropertyBrowsableAttribute.cs
- MarshalDirectiveException.cs
- EFAssociationProvider.cs
- XmlWrappingWriter.cs
- DataTemplateKey.cs
- ProfessionalColorTable.cs
- CollaborationHelperFunctions.cs
- DataGridViewCellValidatingEventArgs.cs
- Collection.cs
- ScrollItemProviderWrapper.cs
- WorkflowInlining.cs
- PagerSettings.cs