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
- ServicePointManager.cs
- PasswordBoxAutomationPeer.cs
- ComboBox.cs
- GZipStream.cs
- UIHelper.cs
- AggregationMinMaxHelpers.cs
- XmlToDatasetMap.cs
- XhtmlTextWriter.cs
- Clipboard.cs
- DataSetViewSchema.cs
- HttpFileCollection.cs
- LocalizationParserHooks.cs
- X509SecurityToken.cs
- safex509handles.cs
- TextBox.cs
- MemberInfoSerializationHolder.cs
- HebrewCalendar.cs
- oledbmetadatacolumnnames.cs
- StringUtil.cs
- InvalidComObjectException.cs
- DecoderBestFitFallback.cs
- BinaryMessageEncoder.cs
- RootDesignerSerializerAttribute.cs
- EditingCoordinator.cs
- Button.cs
- VisualStyleTypesAndProperties.cs
- Material.cs
- FormsAuthenticationUserCollection.cs
- XmlNodeChangedEventManager.cs
- AssemblyBuilder.cs
- SimpleHandlerBuildProvider.cs
- ScalarOps.cs
- Stacktrace.cs
- AssemblyCache.cs
- AssociatedControlConverter.cs
- odbcmetadatacolumnnames.cs
- SystemParameters.cs
- Geometry.cs
- ConstraintCollection.cs
- ExcCanonicalXml.cs
- DataGridViewElement.cs
- SqlNodeAnnotations.cs
- XmlTextReaderImpl.cs
- EntityTemplateFactory.cs
- DebugView.cs
- EasingKeyFrames.cs
- FileUpload.cs
- Size3DValueSerializer.cs
- CodeBlockBuilder.cs
- UIElement.cs
- ResponseStream.cs
- TextPatternIdentifiers.cs
- FormView.cs
- CallSiteOps.cs
- MetadataPropertyvalue.cs
- Utils.cs
- DBSchemaRow.cs
- KeyEvent.cs
- HtmlSelect.cs
- PropertyPathWorker.cs
- ValidationErrorCollection.cs
- ScrollableControl.cs
- PeerNameResolver.cs
- OptimisticConcurrencyException.cs
- DrawTreeNodeEventArgs.cs
- GACIdentityPermission.cs
- SystemThemeKey.cs
- RegexInterpreter.cs
- ResXFileRef.cs
- MenuItemBinding.cs
- OperandQuery.cs
- SoapInteropTypes.cs
- TemplatedAdorner.cs
- BitmapEffectGeneralTransform.cs
- ParentQuery.cs
- ConstrainedDataObject.cs
- VBIdentifierTrimConverter.cs
- BoolLiteral.cs
- infer.cs
- SystemIcmpV4Statistics.cs
- StatusBarPanelClickEvent.cs
- QueryExpr.cs
- SecureUICommand.cs
- OutgoingWebResponseContext.cs
- cookiecontainer.cs
- XamlSerializerUtil.cs
- LocalizableResourceBuilder.cs
- UnitySerializationHolder.cs
- ServiceDesigner.cs
- WorkflowTimerService.cs
- ChildrenQuery.cs
- ColumnWidthChangedEvent.cs
- ExpressionHelper.cs
- Constants.cs
- DataStorage.cs
- ConfigurationFileMap.cs
- HandleCollector.cs
- InstalledFontCollection.cs
- StrokeCollection.cs
- RIPEMD160.cs