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
- OperationAbortedException.cs
- RegexCode.cs
- TreeViewItemAutomationPeer.cs
- SafeNativeMethods.cs
- DataGridRelationshipRow.cs
- HostingEnvironmentWrapper.cs
- DesignColumn.cs
- SQLSingle.cs
- KeyInterop.cs
- OleDbCommand.cs
- PasswordPropertyTextAttribute.cs
- ReflectionUtil.cs
- StructuredTypeInfo.cs
- FrameworkObject.cs
- SingleAnimation.cs
- MetadataLocation.cs
- HyperLinkStyle.cs
- SimpleMailWebEventProvider.cs
- AstTree.cs
- IImplicitResourceProvider.cs
- AppDomainManager.cs
- ToolboxItem.cs
- LoginCancelEventArgs.cs
- Quad.cs
- PersonalizationState.cs
- FileLogRecordHeader.cs
- TransformGroup.cs
- PartialCachingAttribute.cs
- PropertyOverridesTypeEditor.cs
- Roles.cs
- RotateTransform.cs
- SqlNamer.cs
- CodeObjectCreateExpression.cs
- WSSecurityPolicy11.cs
- MexHttpBindingElement.cs
- EqualityComparer.cs
- RectangleConverter.cs
- ConnectionPoint.cs
- PathTooLongException.cs
- RijndaelManaged.cs
- BitmapSizeOptions.cs
- SelectionRange.cs
- XmlSchemaImport.cs
- MemberRelationshipService.cs
- XmlSchemaObject.cs
- UpdateEventArgs.cs
- FileDialogCustomPlaces.cs
- UnsafeNativeMethods.cs
- _AutoWebProxyScriptHelper.cs
- ProxyWebPartConnectionCollection.cs
- Helper.cs
- ZipIORawDataFileBlock.cs
- DebugHandleTracker.cs
- SchemaSetCompiler.cs
- ResourceDictionary.cs
- SqlDeflator.cs
- XmlSchemaSimpleContent.cs
- FreezableOperations.cs
- CodeExpressionCollection.cs
- Exception.cs
- PassportPrincipal.cs
- ZipPackagePart.cs
- UnmanagedHandle.cs
- WindowsAuthenticationModule.cs
- MethodMessage.cs
- DataGridView.cs
- SmiEventSink.cs
- Bitmap.cs
- CookieHandler.cs
- EventMappingSettingsCollection.cs
- ParameterCollection.cs
- TextRangeEditTables.cs
- CachingHintValidation.cs
- odbcmetadatacollectionnames.cs
- ConfigurationElement.cs
- ConditionalExpression.cs
- Win32Native.cs
- ReadOnlyHierarchicalDataSourceView.cs
- CalendarDateChangedEventArgs.cs
- Clock.cs
- XamlStyleSerializer.cs
- GB18030Encoding.cs
- WebPartManagerInternals.cs
- TableRowsCollectionEditor.cs
- AutoGeneratedField.cs
- CodeTypeDelegate.cs
- Pen.cs
- PlatformCulture.cs
- FontStyleConverter.cs
- FrameworkElementFactoryMarkupObject.cs
- DataTableClearEvent.cs
- ValuePattern.cs
- EntityProviderFactory.cs
- Popup.cs
- DnsElement.cs
- XmlNamespaceMappingCollection.cs
- ErrorHandler.cs
- AsyncDataRequest.cs
- PeerTransportSecuritySettings.cs
- Globals.cs