Code:
/ DotNET / DotNET / 8.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
- StylusButton.cs
- GenericEnumerator.cs
- _AuthenticationState.cs
- DataGridViewUtilities.cs
- OptionUsage.cs
- Label.cs
- CategoryAttribute.cs
- CodeGenerator.cs
- XmlReaderSettings.cs
- Internal.cs
- SqlBulkCopyColumnMapping.cs
- PropertyDescriptorCollection.cs
- KeyboardEventArgs.cs
- XslNumber.cs
- DbConnectionPool.cs
- XsltConvert.cs
- ClientApiGenerator.cs
- SourceElementsCollection.cs
- CheckBox.cs
- ThreadStateException.cs
- DropTarget.cs
- HuffmanTree.cs
- CharStorage.cs
- Object.cs
- FormViewCommandEventArgs.cs
- JsonByteArrayDataContract.cs
- WorkflowInstanceAbortedRecord.cs
- EntitySqlQueryBuilder.cs
- DragCompletedEventArgs.cs
- XamlTreeBuilder.cs
- ClientScriptManager.cs
- GrammarBuilderBase.cs
- BitmapEffectDrawingContextWalker.cs
- CodeDOMProvider.cs
- TextElementCollection.cs
- ElementInit.cs
- Rect3DConverter.cs
- GreenMethods.cs
- WmfPlaceableFileHeader.cs
- UnaryExpression.cs
- ObjectQuery_EntitySqlExtensions.cs
- VisualProxy.cs
- OutgoingWebResponseContext.cs
- TargetConverter.cs
- CreateDataSourceDialog.cs
- EdmTypeAttribute.cs
- XpsPartBase.cs
- XmlUtil.cs
- baseaxisquery.cs
- ContextBase.cs
- HttpWebRequest.cs
- XmlSortKeyAccumulator.cs
- Sequence.cs
- HasCopySemanticsAttribute.cs
- ArithmeticException.cs
- LogPolicy.cs
- Message.cs
- ScrollItemPattern.cs
- StringResourceManager.cs
- GridViewRowCollection.cs
- ConnectionsZoneAutoFormat.cs
- HashSet.cs
- CodeSnippetCompileUnit.cs
- CodeMemberProperty.cs
- CultureSpecificStringDictionary.cs
- SqlEnums.cs
- SqlDataSourceStatusEventArgs.cs
- AttributeCollection.cs
- PKCS1MaskGenerationMethod.cs
- PropertyValueUIItem.cs
- DataViewManagerListItemTypeDescriptor.cs
- MSAANativeProvider.cs
- HashCoreRequest.cs
- Column.cs
- DoubleCollectionValueSerializer.cs
- PaperSource.cs
- X509ChainElement.cs
- StrongNameMembershipCondition.cs
- CacheAxisQuery.cs
- InheritanceContextHelper.cs
- TreeViewEvent.cs
- Rectangle.cs
- Point3DAnimationUsingKeyFrames.cs
- Array.cs
- TableItemStyle.cs
- GridViewActionList.cs
- ThreadExceptionEvent.cs
- COM2ColorConverter.cs
- ReachFixedPageSerializer.cs
- ObjectConverter.cs
- LinkedResource.cs
- DbConnectionPoolGroupProviderInfo.cs
- DataGridViewRowConverter.cs
- WebPartRestoreVerb.cs
- BitmapEffectInput.cs
- ErrorTableItemStyle.cs
- SqlError.cs
- BlobPersonalizationState.cs
- ListDictionaryInternal.cs
- WebPartZoneBase.cs