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
- DescendantBaseQuery.cs
- HandleTable.cs
- FactoryRecord.cs
- PriorityBinding.cs
- DerivedKeySecurityToken.cs
- ProxyFragment.cs
- ParagraphVisual.cs
- IntegerCollectionEditor.cs
- MetadataPropertyCollection.cs
- Module.cs
- TableRow.cs
- SchemaObjectWriter.cs
- X509Certificate2Collection.cs
- DataGridViewCellErrorTextNeededEventArgs.cs
- AuditLogLocation.cs
- QuerySafeNavigator.cs
- WebControl.cs
- DiscoveryDocument.cs
- ModelMemberCollection.cs
- ClrPerspective.cs
- DelegatingHeader.cs
- CodeNamespaceImportCollection.cs
- TransportDefaults.cs
- DataListCommandEventArgs.cs
- LoginName.cs
- Rotation3DAnimation.cs
- ImageResources.Designer.cs
- CodeTypeReferenceCollection.cs
- WorkflowRuntimeServiceElementCollection.cs
- MessageFilterTable.cs
- UIElementAutomationPeer.cs
- FontSizeConverter.cs
- Localizer.cs
- SocketConnection.cs
- RemotingConfigParser.cs
- ProxyFragment.cs
- DataGridViewComboBoxCell.cs
- TextureBrush.cs
- CachedFontFamily.cs
- RelationshipEndCollection.cs
- WebControl.cs
- TextBoxRenderer.cs
- validation.cs
- AssemblyInfo.cs
- cryptoapiTransform.cs
- PersonalizationStateInfo.cs
- DesignUtil.cs
- TemplateXamlTreeBuilder.cs
- NetCodeGroup.cs
- ConditionCollection.cs
- Int32.cs
- VariableModifiersHelper.cs
- TrackingMemoryStream.cs
- RowsCopiedEventArgs.cs
- CachingHintValidation.cs
- BasePattern.cs
- SqlOuterApplyReducer.cs
- CreateWorkflowOwnerCommand.cs
- TimelineCollection.cs
- AdornerDecorator.cs
- StylusCaptureWithinProperty.cs
- SqlNodeAnnotation.cs
- ScrollViewerAutomationPeer.cs
- XmlMembersMapping.cs
- WebPartChrome.cs
- PrintControllerWithStatusDialog.cs
- RadialGradientBrush.cs
- DesignerActionVerbItem.cs
- DomainUpDown.cs
- HierarchicalDataBoundControl.cs
- ConfigXmlElement.cs
- WorkflowMarkupSerializationManager.cs
- FormatSettings.cs
- Mutex.cs
- KeyConverter.cs
- OleDbStruct.cs
- NamedPermissionSet.cs
- ContextTokenTypeConverter.cs
- QueryExpr.cs
- ProxyManager.cs
- SHA256.cs
- OdbcPermission.cs
- NonClientArea.cs
- DataControlCommands.cs
- CustomSignedXml.cs
- SymbolMethod.cs
- WebBrowser.cs
- StreamingContext.cs
- StateItem.cs
- XmlDownloadManager.cs
- EntityCommand.cs
- ObsoleteAttribute.cs
- PublishLicense.cs
- ProxyElement.cs
- ObjectFactoryCodeDomTreeGenerator.cs
- WorkflowQueueInfo.cs
- StrongNameIdentityPermission.cs
- BoolLiteral.cs
- DataObjectSettingDataEventArgs.cs
- XmlTypeMapping.cs