Code:
/ 4.0 / 4.0 / untmp / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / fx / src / Net / System / Net / NetworkInformation / SystemIPInterfaceStatistics.cs / 1305376 / SystemIPInterfaceStatistics.cs
////// namespace System.Net.NetworkInformation { using System.Net.Sockets; using System; using System.ComponentModel; /// /// Provides support for ip configuation information and statistics. /// IP statistics internal class SystemIPv4InterfaceStatistics:IPv4InterfaceStatistics { MibIfRow ifRow = new MibIfRow(); private SystemIPv4InterfaceStatistics(){ } internal SystemIPv4InterfaceStatistics(long index){ GetIfEntry(index); } public override long OutputQueueLength{get {return ifRow.dwOutQLen;}} public override long BytesSent{get {return ifRow.dwOutOctets;}} public override long BytesReceived{get {return ifRow.dwInOctets;}} public override long UnicastPacketsSent{get {return ifRow.dwOutUcastPkts;}} public override long UnicastPacketsReceived{get { return ifRow.dwInUcastPkts;}} public override long NonUnicastPacketsSent{get { return ifRow.dwOutNUcastPkts;}} public override long NonUnicastPacketsReceived{get { return ifRow.dwInNUcastPkts;}} public override long IncomingPacketsDiscarded{get { return ifRow.dwInDiscards;}} public override long OutgoingPacketsDiscarded{get { return ifRow.dwOutDiscards;}} public override long IncomingPacketsWithErrors{get { return ifRow.dwInErrors;}} public override long OutgoingPacketsWithErrors{get { return ifRow.dwOutErrors;}} public override long IncomingUnknownProtocolPackets{get { return ifRow.dwInUnknownProtos;}} internal long Mtu{get { return ifRow.dwMtu;}} internal OperationalStatus OperationalStatus{ get{ switch (ifRow.operStatus) { case OldOperationalStatus.NonOperational: return OperationalStatus.Down; case OldOperationalStatus.Unreachable: return OperationalStatus.Down; case OldOperationalStatus.Disconnected: return OperationalStatus.Dormant; case OldOperationalStatus.Connecting: return OperationalStatus.Dormant; case OldOperationalStatus.Connected: return OperationalStatus.Up; case OldOperationalStatus.Operational: return OperationalStatus.Up; } //state unknow return OperationalStatus.Unknown; } } internal long Speed{get { return ifRow.dwSpeed;}} //This method is used to get information for ipv4 specific interfaces //we should only call this the first time one of the properties //are accessed. void GetIfEntry(long index) { if (index == 0 ) return; ifRow.dwIndex = (uint)index; uint result = UnsafeNetInfoNativeMethods.GetIfEntry(ref ifRow); if (result != IpHelperErrors.Success) { throw new NetworkInformationException((int)result); } } } } // 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
- TextFormatterContext.cs
- LinkArea.cs
- ItemDragEvent.cs
- ProviderSettingsCollection.cs
- DefaultValueTypeConverter.cs
- FreeFormPanel.cs
- UniqueID.cs
- AuthorizationSection.cs
- SoapInteropTypes.cs
- EncryptedReference.cs
- PageResolution.cs
- ContractUtils.cs
- DoubleLinkListEnumerator.cs
- FormattedText.cs
- UTF32Encoding.cs
- ValidationSummary.cs
- VerticalAlignConverter.cs
- SystemMulticastIPAddressInformation.cs
- InfoCardRSAPKCS1KeyExchangeFormatter.cs
- TrackBarDesigner.cs
- WpfKnownTypeInvoker.cs
- BooleanStorage.cs
- AsyncWaitHandle.cs
- _ScatterGatherBuffers.cs
- CachedResourceDictionaryExtension.cs
- SocketException.cs
- WizardStepBase.cs
- WindowsAuthenticationEventArgs.cs
- ListenerElementsCollection.cs
- SRDisplayNameAttribute.cs
- BooleanExpr.cs
- dataobject.cs
- HttpListener.cs
- TypeDependencyAttribute.cs
- sitestring.cs
- ApplicationFileParser.cs
- CodeStatementCollection.cs
- SecurityPolicySection.cs
- GeometryGroup.cs
- IntegerValidatorAttribute.cs
- DataPagerField.cs
- TransformCollection.cs
- JsonServiceDocumentSerializer.cs
- ButtonColumn.cs
- ForceCopyBuildProvider.cs
- LogAppendAsyncResult.cs
- IPAddressCollection.cs
- ClientUrlResolverWrapper.cs
- Graphics.cs
- PerformanceCounterManager.cs
- TreeNodeEventArgs.cs
- FocusWithinProperty.cs
- XPathSingletonIterator.cs
- StringPropertyBuilder.cs
- PauseStoryboard.cs
- ExternalFile.cs
- HostProtectionPermission.cs
- BodyWriter.cs
- PasswordBoxAutomationPeer.cs
- RenderOptions.cs
- X509Certificate2Collection.cs
- DocumentViewerConstants.cs
- HttpVersion.cs
- ColorAnimation.cs
- _NativeSSPI.cs
- AppDomainProtocolHandler.cs
- FixedElement.cs
- TypeBuilderInstantiation.cs
- DateTimeEditor.cs
- ColumnWidthChangedEvent.cs
- RenamedEventArgs.cs
- DataGridCell.cs
- ImageCollectionCodeDomSerializer.cs
- XMLDiffLoader.cs
- CodeGen.cs
- SiteMapDataSourceView.cs
- MemberAssignment.cs
- HttpListenerException.cs
- ChtmlPageAdapter.cs
- BufferModesCollection.cs
- EFAssociationProvider.cs
- SoapCodeExporter.cs
- WeakEventTable.cs
- AnimationClock.cs
- SupportsEventValidationAttribute.cs
- ControlIdConverter.cs
- CategoryGridEntry.cs
- DatagridviewDisplayedBandsData.cs
- AssociativeAggregationOperator.cs
- XmlWrappingWriter.cs
- NativeMethods.cs
- ObsoleteAttribute.cs
- DecimalStorage.cs
- DataServiceRequestOfT.cs
- GeneralTransform3DGroup.cs
- WebPartVerbsEventArgs.cs
- Enum.cs
- ThemeDirectoryCompiler.cs
- DesignRelationCollection.cs
- ReachDocumentPageSerializerAsync.cs