Code:
/ FX-1434 / FX-1434 / 1.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
- InvalidateEvent.cs
- CodeMemberField.cs
- XamlSerializer.cs
- Int16KeyFrameCollection.cs
- SiteOfOriginPart.cs
- Knowncolors.cs
- RepeaterItemEventArgs.cs
- XmlnsDictionary.cs
- ContractCodeDomInfo.cs
- HostProtectionPermission.cs
- OleDbRowUpdatingEvent.cs
- ServicePointManagerElement.cs
- DictionaryContent.cs
- DecimalConstantAttribute.cs
- TextBreakpoint.cs
- InfoCardTraceRecord.cs
- MethodExpr.cs
- SessionEndingEventArgs.cs
- Funcletizer.cs
- WebPartHeaderCloseVerb.cs
- WindowsTreeView.cs
- TemplateAction.cs
- DateTimeConstantAttribute.cs
- WebControl.cs
- ContentValidator.cs
- AlignmentYValidation.cs
- WebControlAdapter.cs
- DbBuffer.cs
- Sequence.cs
- RealizationDrawingContextWalker.cs
- TimelineCollection.cs
- OleDbPermission.cs
- DirtyTextRange.cs
- MetadataItemCollectionFactory.cs
- Polyline.cs
- SqlDataSourceView.cs
- TableLayoutPanelCellPosition.cs
- Function.cs
- SqlLiftIndependentRowExpressions.cs
- PeerObject.cs
- FlowDocumentPaginator.cs
- ProgressChangedEventArgs.cs
- BaseValidator.cs
- AuthenticationManager.cs
- TextParagraphView.cs
- DiagnosticStrings.cs
- RegexCompiler.cs
- DeviceContexts.cs
- InternalCache.cs
- FileFormatException.cs
- DataGridViewAdvancedBorderStyle.cs
- InputReportEventArgs.cs
- WebPartHelpVerb.cs
- SafeEventHandle.cs
- LineInfo.cs
- ProcessModelSection.cs
- ByteStack.cs
- EnvelopedSignatureTransform.cs
- XmlDataSourceView.cs
- DataGridRelationshipRow.cs
- FullTrustAssembly.cs
- SafeFileMapViewHandle.cs
- _OSSOCK.cs
- Rotation3DKeyFrameCollection.cs
- AffineTransform3D.cs
- BufferedGraphicsContext.cs
- DataGridViewButtonCell.cs
- codemethodreferenceexpression.cs
- CompositeTypefaceMetrics.cs
- DeploymentExceptionMapper.cs
- SoapTypeAttribute.cs
- RectConverter.cs
- MetadataItem_Static.cs
- ThaiBuddhistCalendar.cs
- WorkflowTerminatedException.cs
- XmlDeclaration.cs
- KnownBoxes.cs
- ClientBuildManagerCallback.cs
- LayoutEngine.cs
- AppDomain.cs
- WorkflowPersistenceContext.cs
- Walker.cs
- Configuration.cs
- DateTimeFormatInfoScanner.cs
- SineEase.cs
- SamlSecurityTokenAuthenticator.cs
- TdsParserHelperClasses.cs
- InputLangChangeEvent.cs
- ArglessEventHandlerProxy.cs
- RandomNumberGenerator.cs
- NumericPagerField.cs
- CalendarTable.cs
- OutputCacheSettings.cs
- StylusShape.cs
- ChineseLunisolarCalendar.cs
- PointAnimationUsingKeyFrames.cs
- AuthorizationRuleCollection.cs
- RepeaterItem.cs
- InternalPermissions.cs
- ObjectDataSourceChooseMethodsPanel.cs