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
- TypeResolver.cs
- ForwardPositionQuery.cs
- Tokenizer.cs
- Visual3D.cs
- ContractBase.cs
- AsymmetricCryptoHandle.cs
- StringStorage.cs
- DataGridViewRowEventArgs.cs
- WCFModelStrings.Designer.cs
- SafeEventLogWriteHandle.cs
- DataBindingHandlerAttribute.cs
- ErrorTableItemStyle.cs
- VisualProxy.cs
- RuntimeIdentifierPropertyAttribute.cs
- SymDocumentType.cs
- TextEndOfLine.cs
- XamlReaderHelper.cs
- OdbcCommandBuilder.cs
- HMACRIPEMD160.cs
- Misc.cs
- StrongNameIdentityPermission.cs
- FrugalMap.cs
- ListBindableAttribute.cs
- XmlNodeComparer.cs
- XmlILOptimizerVisitor.cs
- ExitEventArgs.cs
- securestring.cs
- ToolStripProfessionalLowResolutionRenderer.cs
- DirtyTextRange.cs
- CommandConverter.cs
- CodeTypeReferenceCollection.cs
- CommentEmitter.cs
- BamlWriter.cs
- RectangleF.cs
- MimeObjectFactory.cs
- Preprocessor.cs
- CodeMethodReturnStatement.cs
- DataGridHeaderBorder.cs
- OutputCacheModule.cs
- Variant.cs
- StreamInfo.cs
- EventListenerClientSide.cs
- OleDbStruct.cs
- HtmlTernaryTree.cs
- EventItfInfo.cs
- CategoryNameCollection.cs
- PersonalizationStateInfo.cs
- StylusCollection.cs
- DrawListViewColumnHeaderEventArgs.cs
- DispatchChannelSink.cs
- UICuesEvent.cs
- AttachedAnnotation.cs
- MediaScriptCommandRoutedEventArgs.cs
- TableSectionStyle.cs
- TemplateField.cs
- RightsManagementEncryptedStream.cs
- DesignTimeSiteMapProvider.cs
- CompiledScopeCriteria.cs
- httpserverutility.cs
- WebResourceUtil.cs
- StatusBarPanel.cs
- ExtensionQuery.cs
- OletxEnlistment.cs
- RegexTree.cs
- SmiRequestExecutor.cs
- User.cs
- TextTreeUndoUnit.cs
- HttpResponseBase.cs
- OutputScopeManager.cs
- KnownTypeHelper.cs
- SqlDataSourceQueryConverter.cs
- PolyBezierSegment.cs
- EdmRelationshipNavigationPropertyAttribute.cs
- RepeaterCommandEventArgs.cs
- FixedSOMPageElement.cs
- DataGridViewRowsAddedEventArgs.cs
- Comparer.cs
- MatrixValueSerializer.cs
- BufferedReadStream.cs
- XmlStringTable.cs
- SqlClientMetaDataCollectionNames.cs
- ScopedKnownTypes.cs
- HostSecurityManager.cs
- SmtpFailedRecipientsException.cs
- WebPartVerb.cs
- SqlDataAdapter.cs
- SystemUdpStatistics.cs
- SendMailErrorEventArgs.cs
- XmlAutoDetectWriter.cs
- XmlSiteMapProvider.cs
- CodeParameterDeclarationExpressionCollection.cs
- QuaternionRotation3D.cs
- CfgArc.cs
- MatrixTransform3D.cs
- SortedList.cs
- EntitySqlQueryBuilder.cs
- MenuRendererStandards.cs
- SafeIUnknown.cs
- DependencyPropertyKind.cs
- Helpers.cs