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
- ZoneButton.cs
- XmlEntity.cs
- TypeDescriptionProviderAttribute.cs
- AmbiguousMatchException.cs
- TemplateNodeContextMenu.cs
- ListMarkerSourceInfo.cs
- BackStopAuthenticationModule.cs
- InfoCardBaseException.cs
- ValidationContext.cs
- BindingBase.cs
- TcpChannelHelper.cs
- UnsafeNativeMethods.cs
- FormsAuthentication.cs
- ColumnWidthChangedEvent.cs
- GenerateScriptTypeAttribute.cs
- DesignBindingEditor.cs
- EmptyReadOnlyDictionaryInternal.cs
- ErrorProvider.cs
- Overlapped.cs
- ScriptResourceAttribute.cs
- ExecutionContext.cs
- TextFormatterImp.cs
- HijriCalendar.cs
- XmlSchemaAnnotation.cs
- DefaultSection.cs
- MultiDataTrigger.cs
- XmlArrayItemAttributes.cs
- BaseDataListActionList.cs
- KoreanLunisolarCalendar.cs
- SignedInfo.cs
- COM2EnumConverter.cs
- ReferenceEqualityComparer.cs
- ImageKeyConverter.cs
- bidPrivateBase.cs
- SafeNativeMethods.cs
- WindowsListViewGroupHelper.cs
- NativeMethods.cs
- PreProcessInputEventArgs.cs
- ReadOnlyDictionary.cs
- _OSSOCK.cs
- dataobject.cs
- CompilationUnit.cs
- ImageAttributes.cs
- WindowsTokenRoleProvider.cs
- HttpTransportBindingElement.cs
- TextTreeUndo.cs
- MobileControlBuilder.cs
- ChtmlTextWriter.cs
- Tokenizer.cs
- CodeCatchClause.cs
- HtmlHead.cs
- ConfigurationException.cs
- ElementFactory.cs
- Trigger.cs
- SoapFault.cs
- SingleAnimationBase.cs
- StaticFileHandler.cs
- ScrollableControl.cs
- DeferredSelectedIndexReference.cs
- HttpHeaderCollection.cs
- FunctionImportElement.cs
- DecimalAverageAggregationOperator.cs
- IconConverter.cs
- DataServiceClientException.cs
- InvalidPropValue.cs
- ListControlDataBindingHandler.cs
- CommonProperties.cs
- DragEvent.cs
- Input.cs
- XPathAxisIterator.cs
- ManagementException.cs
- SQLBoolean.cs
- SQLByte.cs
- OperatorExpressions.cs
- ExtensionWindow.cs
- ping.cs
- NameValuePair.cs
- DefaultTraceListener.cs
- RegexGroupCollection.cs
- WmfPlaceableFileHeader.cs
- FileStream.cs
- ProfileSection.cs
- WindowsScrollBar.cs
- TextEndOfParagraph.cs
- SliderAutomationPeer.cs
- MarkupExtensionParser.cs
- IntPtr.cs
- DataBoundControlHelper.cs
- RangeValueProviderWrapper.cs
- QilParameter.cs
- WindowPattern.cs
- SignatureHelper.cs
- ScrollChrome.cs
- ToolStripInSituService.cs
- SpellCheck.cs
- RecordsAffectedEventArgs.cs
- CommandPlan.cs
- ImageListStreamer.cs
- TextSpan.cs
- WorkflowMessageEventArgs.cs