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
- EntityDataSourceUtil.cs
- EdmToObjectNamespaceMap.cs
- DBParameter.cs
- GZipDecoder.cs
- cryptoapiTransform.cs
- TemplateControlParser.cs
- TextureBrush.cs
- NumericUpDownAccelerationCollection.cs
- RootProfilePropertySettingsCollection.cs
- HelpKeywordAttribute.cs
- IsolatedStoragePermission.cs
- XmlChildNodes.cs
- WebPartVerbCollection.cs
- ListViewPagedDataSource.cs
- Shape.cs
- NameValueConfigurationElement.cs
- XmlSignatureManifest.cs
- ConstrainedDataObject.cs
- ListManagerBindingsCollection.cs
- AdRotator.cs
- ProgramNode.cs
- SafeFindHandle.cs
- RightNameExpirationInfoPair.cs
- ZipIOEndOfCentralDirectoryBlock.cs
- RemoteWebConfigurationHost.cs
- DefaultAssemblyResolver.cs
- RegexInterpreter.cs
- ConversionContext.cs
- Mutex.cs
- Positioning.cs
- DropDownButton.cs
- AdornerLayer.cs
- RenderingEventArgs.cs
- InvalidWMPVersionException.cs
- OdbcConnection.cs
- DataBinder.cs
- DetailsView.cs
- TableCellAutomationPeer.cs
- FlowDocumentReader.cs
- WmlFormAdapter.cs
- Line.cs
- LinkConverter.cs
- Processor.cs
- Converter.cs
- AsyncWaitHandle.cs
- Byte.cs
- MimeTypeMapper.cs
- SessionStateContainer.cs
- LoginUtil.cs
- SmtpMail.cs
- InheritanceAttribute.cs
- PointConverter.cs
- XmlResolver.cs
- CipherData.cs
- MaskedTextBox.cs
- DataGridColumn.cs
- WindowsAuthenticationModule.cs
- ProcessHost.cs
- NativeWindow.cs
- EntityDataSource.cs
- HttpWrapper.cs
- ColorPalette.cs
- CqlGenerator.cs
- DataBoundControlHelper.cs
- HtmlInputControl.cs
- RenderDataDrawingContext.cs
- StreamHelper.cs
- SqlGenerator.cs
- FileStream.cs
- ErrorHandlerModule.cs
- FaultBookmark.cs
- _ConnectOverlappedAsyncResult.cs
- XmlIgnoreAttribute.cs
- WindowsImpersonationContext.cs
- ToolStripManager.cs
- GacUtil.cs
- AttachedPropertyBrowsableAttribute.cs
- Tile.cs
- DataGridViewHitTestInfo.cs
- DataGridViewCellStateChangedEventArgs.cs
- BulletChrome.cs
- CacheEntry.cs
- WpfWebRequestHelper.cs
- XmlSchemaRedefine.cs
- ConfigurationSectionCollection.cs
- _FixedSizeReader.cs
- PropertyItem.cs
- RawUIStateInputReport.cs
- FormatterServicesNoSerializableCheck.cs
- PersonalizationStateInfo.cs
- PropertyCondition.cs
- StatusBarPanel.cs
- SiteMembershipCondition.cs
- StandardOleMarshalObject.cs
- AspProxy.cs
- LoginDesigner.cs
- TagNameToTypeMapper.cs
- CacheDependency.cs
- AsyncResult.cs
- TagPrefixInfo.cs