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
- PreApplicationStartMethodAttribute.cs
- FormClosedEvent.cs
- InternalResources.cs
- CachingParameterInspector.cs
- ViewUtilities.cs
- LinqDataSourceView.cs
- DrawingCollection.cs
- RightsManagementInformation.cs
- NavigationService.cs
- CqlWriter.cs
- NotificationContext.cs
- WindowsMenu.cs
- PerformanceCounterCategory.cs
- NetworkAddressChange.cs
- ViewStateException.cs
- RadialGradientBrush.cs
- MatchingStyle.cs
- InstanceKeyCompleteException.cs
- XPathDocumentIterator.cs
- RestClientProxyHandler.cs
- MissingFieldException.cs
- RankException.cs
- UniqueID.cs
- RangeValuePattern.cs
- DataRowCollection.cs
- RenderCapability.cs
- SerializationInfo.cs
- HttpListenerContext.cs
- DuplicateWaitObjectException.cs
- XmlAtomicValue.cs
- OleDbRowUpdatedEvent.cs
- RequestBringIntoViewEventArgs.cs
- DirectoryObjectSecurity.cs
- CryptoApi.cs
- MetabaseSettingsIis7.cs
- fixedPageContentExtractor.cs
- TimeoutValidationAttribute.cs
- DataGridViewCellMouseEventArgs.cs
- ToolboxControl.cs
- DbMetaDataColumnNames.cs
- LoginCancelEventArgs.cs
- SmtpNegotiateAuthenticationModule.cs
- MarshalDirectiveException.cs
- StringExpressionSet.cs
- TextBoxAutomationPeer.cs
- RotateTransform3D.cs
- TransformerInfoCollection.cs
- AdapterUtil.cs
- ServiceMetadataBehavior.cs
- WebPartDescription.cs
- VisualBrush.cs
- LoadedOrUnloadedOperation.cs
- WorkflowDebuggerSteppingAttribute.cs
- StylusShape.cs
- Style.cs
- PrinterSettings.cs
- IndexerReference.cs
- GPStream.cs
- SoapClientMessage.cs
- ScrollBarRenderer.cs
- MediaCommands.cs
- _SSPIWrapper.cs
- ConnectionInterfaceCollection.cs
- baseshape.cs
- LogRestartAreaEnumerator.cs
- InheritanceAttribute.cs
- BaseDataList.cs
- InternalEnumValidatorAttribute.cs
- DataKey.cs
- ListChangedEventArgs.cs
- FrameworkElement.cs
- WindowCollection.cs
- FontUnit.cs
- RuntimeEnvironment.cs
- AnonymousIdentificationSection.cs
- EventLogEntry.cs
- CodePageUtils.cs
- EpmSourcePathSegment.cs
- MsmqOutputMessage.cs
- XmlAnyElementAttributes.cs
- ACL.cs
- StylusCollection.cs
- CodeGeneratorOptions.cs
- MonthCalendar.cs
- DataControlFieldCollection.cs
- ColumnMapCopier.cs
- BrowserCapabilitiesFactoryBase.cs
- ColorContextHelper.cs
- CodeDOMProvider.cs
- ObjectParameterCollection.cs
- TypeConverterValueSerializer.cs
- PackageRelationship.cs
- Site.cs
- ParserOptions.cs
- Number.cs
- InfoCardTraceRecord.cs
- DataGridViewColumn.cs
- ColorIndependentAnimationStorage.cs
- EventLogPermission.cs
- LocalizeDesigner.cs