Code:
/ FX-1434 / FX-1434 / 1.0 / untmp / whidbey / REDBITS / ndp / fx / src / Net / System / Net / NetworkInformation / SystemIPInterfaceStatistics.cs / 1 / 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); } } } }
Link Menu
This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- ModelServiceImpl.cs
- OwnerDrawPropertyBag.cs
- MembershipSection.cs
- SortExpressionBuilder.cs
- ProbeMatchesMessage11.cs
- SrgsRuleRef.cs
- XPathPatternParser.cs
- ExpressionCopier.cs
- InkCanvasSelectionAdorner.cs
- TimeZoneNotFoundException.cs
- DoubleLinkListEnumerator.cs
- PieceNameHelper.cs
- ListSortDescription.cs
- SpecularMaterial.cs
- WindowsRebar.cs
- WebPartsPersonalizationAuthorization.cs
- ResourcesGenerator.cs
- XmlIlTypeHelper.cs
- PrintEvent.cs
- DataGridRowDetailsEventArgs.cs
- AlignmentXValidation.cs
- InternalSafeNativeMethods.cs
- DataGridAddNewRow.cs
- ArithmeticException.cs
- DataKey.cs
- SharedPersonalizationStateInfo.cs
- DBConnectionString.cs
- NativeMethods.cs
- EventLogPermissionAttribute.cs
- EllipseGeometry.cs
- Inflater.cs
- PagerSettings.cs
- DataGridPagerStyle.cs
- AlternationConverter.cs
- InsufficientExecutionStackException.cs
- connectionpool.cs
- MetafileHeaderWmf.cs
- GridPattern.cs
- FillRuleValidation.cs
- ReadOnlyTernaryTree.cs
- CommittableTransaction.cs
- FragmentQueryKB.cs
- DiscardableAttribute.cs
- XhtmlTextWriter.cs
- Win32MouseDevice.cs
- DefaultHttpHandler.cs
- KerberosRequestorSecurityToken.cs
- ReferentialConstraint.cs
- AttributeQuery.cs
- ImageMetadata.cs
- RegexStringValidator.cs
- DotNetATv1WindowsLogEntrySerializer.cs
- SqlTriggerContext.cs
- Assert.cs
- DesignerAutoFormat.cs
- ArgumentOutOfRangeException.cs
- ManagementInstaller.cs
- TextRangeProviderWrapper.cs
- ItemList.cs
- Int32Rect.cs
- ItemsChangedEventArgs.cs
- SoapExtensionTypeElementCollection.cs
- SymLanguageType.cs
- LightweightCodeGenerator.cs
- Symbol.cs
- AssemblyHash.cs
- XPathItem.cs
- PropertyPanel.cs
- RuntimeArgumentHandle.cs
- UpdateTracker.cs
- HttpHandlerAction.cs
- PropertyInformation.cs
- SoapUnknownHeader.cs
- StoreItemCollection.cs
- TypeInfo.cs
- CookielessData.cs
- InvalidAsynchronousStateException.cs
- GlobalizationAssembly.cs
- FixedSOMFixedBlock.cs
- LeftCellWrapper.cs
- KeyboardDevice.cs
- MultiSelectRootGridEntry.cs
- InputScopeNameConverter.cs
- __Filters.cs
- PreservationFileReader.cs
- ArraySortHelper.cs
- CryptoHandle.cs
- EventTask.cs
- SqlDataRecord.cs
- CLRBindingWorker.cs
- CallbackHandler.cs
- Int16KeyFrameCollection.cs
- OleDbRowUpdatedEvent.cs
- XmlSortKey.cs
- DataSvcMapFile.cs
- SigningCredentials.cs
- ColorMap.cs
- ExpressionEditor.cs
- DragDrop.cs
- DataGridViewCheckBoxColumn.cs