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
- NamedPipeConnectionPoolSettings.cs
- PeerEndPoint.cs
- DesignerActionService.cs
- DesignBindingConverter.cs
- _NetworkingPerfCounters.cs
- CodeNamespaceImport.cs
- InstanceStore.cs
- CheckBoxField.cs
- ColorTranslator.cs
- WindowsStatic.cs
- WebPartZone.cs
- StringFreezingAttribute.cs
- LabelLiteral.cs
- URLString.cs
- DataColumnCollection.cs
- Section.cs
- XhtmlBasicLabelAdapter.cs
- DbXmlEnabledProviderManifest.cs
- ObjectViewEntityCollectionData.cs
- DataGridViewRowsRemovedEventArgs.cs
- TextEditorParagraphs.cs
- Light.cs
- SqlDataSourceWizardForm.cs
- TPLETWProvider.cs
- ExtenderControl.cs
- _Rfc2616CacheValidators.cs
- XmlKeywords.cs
- LineSegment.cs
- EntityContainerAssociationSetEnd.cs
- OleDbReferenceCollection.cs
- DataBoundLiteralControl.cs
- CompoundFileStorageReference.cs
- CryptoHelper.cs
- SapiAttributeParser.cs
- Token.cs
- GlyphsSerializer.cs
- QueryExpr.cs
- PKCS1MaskGenerationMethod.cs
- DataGridColumnCollection.cs
- UriSection.cs
- WsiProfilesElementCollection.cs
- ReplacementText.cs
- XmlQueryTypeFactory.cs
- BindingMAnagerBase.cs
- BaseDataBoundControl.cs
- securitycriticaldata.cs
- ContactManager.cs
- DataGridViewComboBoxCell.cs
- CopyAction.cs
- GridViewEditEventArgs.cs
- CharAnimationUsingKeyFrames.cs
- MappingException.cs
- DesignTimeResourceProviderFactoryAttribute.cs
- MdbDataFileEditor.cs
- TypeTypeConverter.cs
- TextRunCacheImp.cs
- XmlSchemaValidator.cs
- BitmapEffectDrawingContent.cs
- FieldDescriptor.cs
- SamlAdvice.cs
- SystemKeyConverter.cs
- XmlLoader.cs
- HiddenFieldPageStatePersister.cs
- StrongNameUtility.cs
- ActivityExecutorSurrogate.cs
- AssemblyAttributesGoHere.cs
- DSASignatureFormatter.cs
- AccessibleObject.cs
- TextBreakpoint.cs
- PngBitmapDecoder.cs
- MetadataArtifactLoaderCompositeFile.cs
- SafeNativeMethods.cs
- securitycriticaldataformultiplegetandset.cs
- DiscoveryDefaults.cs
- SendAgentStatusRequest.cs
- XmlSchemaNotation.cs
- SetterBaseCollection.cs
- Int32CollectionConverter.cs
- Constant.cs
- DataGridViewControlCollection.cs
- FragmentQueryKB.cs
- SoapServerProtocol.cs
- WindowsRegion.cs
- UInt32Converter.cs
- SocketException.cs
- RestClientProxyHandler.cs
- ListSourceHelper.cs
- InstanceNotReadyException.cs
- DropDownList.cs
- WorkflowDebuggerSteppingAttribute.cs
- SapiAttributeParser.cs
- HwndProxyElementProvider.cs
- RegexReplacement.cs
- SettingsPropertyValue.cs
- CookieProtection.cs
- SimpleHandlerBuildProvider.cs
- safex509handles.cs
- Label.cs
- ResumeStoryboard.cs
- BufferBuilder.cs