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
- CrossSiteScriptingValidation.cs
- UITypeEditors.cs
- SecurityKeyIdentifierClause.cs
- AspNetCompatibilityRequirementsMode.cs
- CallbackValidatorAttribute.cs
- TextBox.cs
- NaturalLanguageHyphenator.cs
- DownloadProgressEventArgs.cs
- ConnectivityStatus.cs
- EntityModelBuildProvider.cs
- RestrictedTransactionalPackage.cs
- XmlSchemaIdentityConstraint.cs
- Sorting.cs
- Util.cs
- TextStore.cs
- Conditional.cs
- Message.cs
- AsyncResult.cs
- WebPartConnection.cs
- Decorator.cs
- Compilation.cs
- BackEase.cs
- BaseValidator.cs
- FloaterBaseParagraph.cs
- FtpRequestCacheValidator.cs
- ModelVisual3D.cs
- QilName.cs
- SafeProcessHandle.cs
- HttpRuntime.cs
- Faults.cs
- Adorner.cs
- SQLMoneyStorage.cs
- localization.cs
- TypeConverterMarkupExtension.cs
- BasicHttpMessageSecurityElement.cs
- NullableDecimalMinMaxAggregationOperator.cs
- KeyTime.cs
- FormClosedEvent.cs
- ObjectStateEntryDbUpdatableDataRecord.cs
- VisualCollection.cs
- TcpChannelHelper.cs
- WmlPanelAdapter.cs
- VersionedStream.cs
- SchemaTypeEmitter.cs
- Timer.cs
- CellIdBoolean.cs
- ParallelRangeManager.cs
- XmlDataSource.cs
- AlgoModule.cs
- SingleConverter.cs
- SoapFault.cs
- WebBrowserHelper.cs
- WeakHashtable.cs
- ApplicationFileParser.cs
- DrawingBrush.cs
- RenderContext.cs
- Timer.cs
- SafeNativeMethodsCLR.cs
- PersistenceMetadataNamespace.cs
- EditingScope.cs
- EdmEntityTypeAttribute.cs
- XPathDescendantIterator.cs
- GridViewColumnHeader.cs
- Compilation.cs
- SerializationInfoEnumerator.cs
- _SpnDictionary.cs
- TreeNodeBinding.cs
- ColorMap.cs
- UserControl.cs
- OleDbParameter.cs
- WebPartTransformer.cs
- ChangeToolStripParentVerb.cs
- SerializableAttribute.cs
- ProfilePropertySettingsCollection.cs
- Overlapped.cs
- PermissionToken.cs
- UrlAuthorizationModule.cs
- TextWriterTraceListener.cs
- ConditionValidator.cs
- Signature.cs
- IODescriptionAttribute.cs
- DataListGeneralPage.cs
- UnmanagedHandle.cs
- FactoryGenerator.cs
- CompositeFontFamily.cs
- ObjectCloneHelper.cs
- Translator.cs
- HMACSHA1.cs
- Constants.cs
- ReverseInheritProperty.cs
- Scripts.cs
- OleStrCAMarshaler.cs
- OleDbMetaDataFactory.cs
- AsymmetricAlgorithm.cs
- HelpEvent.cs
- TraceListener.cs
- ProfileInfo.cs
- OrthographicCamera.cs
- FixedNode.cs
- SqlColumnizer.cs