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
- SafeRightsManagementHandle.cs
- AnnotationService.cs
- NonParentingControl.cs
- BCLDebug.cs
- HybridCollection.cs
- XmlSerializerFactory.cs
- TreeView.cs
- Int64Converter.cs
- EventProviderWriter.cs
- TranslateTransform3D.cs
- DataControlFieldTypeEditor.cs
- LookupBindingPropertiesAttribute.cs
- CircleHotSpot.cs
- UpdateTracker.cs
- NumericExpr.cs
- IsolatedStorage.cs
- GAC.cs
- PermissionSetTriple.cs
- WSHttpBindingCollectionElement.cs
- HwndSourceParameters.cs
- WindowsRegion.cs
- PeerCollaboration.cs
- TagMapCollection.cs
- Dictionary.cs
- XPathNodeIterator.cs
- ImageFormat.cs
- SchemaImporter.cs
- ErrorHandlingAcceptor.cs
- CodeAttributeDeclaration.cs
- GenericWebPart.cs
- control.ime.cs
- ExpressionPrinter.cs
- safex509handles.cs
- CqlParser.cs
- EnumUnknown.cs
- StandardOleMarshalObject.cs
- SchemaReference.cs
- ObjectQuery_EntitySqlExtensions.cs
- ComboBoxItem.cs
- KnowledgeBase.cs
- ContentWrapperAttribute.cs
- SessionStateModule.cs
- RequiredFieldValidator.cs
- PriorityQueue.cs
- AttachmentCollection.cs
- BaseCAMarshaler.cs
- BitConverter.cs
- BackStopAuthenticationModule.cs
- FrameworkElementFactory.cs
- QuotedPrintableStream.cs
- EncodingTable.cs
- XmlBinaryReader.cs
- XmlHierarchicalEnumerable.cs
- CounterSet.cs
- SessionPageStateSection.cs
- Unit.cs
- LocalValueEnumerator.cs
- EntitySetDataBindingList.cs
- Ref.cs
- ObjectQueryExecutionPlan.cs
- WebHttpSecurityElement.cs
- ResourcePermissionBaseEntry.cs
- TimeSpanConverter.cs
- DesignSurfaceCollection.cs
- MdImport.cs
- ActiveXHelper.cs
- ValidationErrorCollection.cs
- ACL.cs
- EventItfInfo.cs
- CodeDOMUtility.cs
- InsufficientMemoryException.cs
- StickyNoteAnnotations.cs
- RootBrowserWindowProxy.cs
- ILGenerator.cs
- SafeCryptoKeyHandle.cs
- MemberRelationshipService.cs
- XmlReflectionMember.cs
- DependsOnAttribute.cs
- SchemaComplexType.cs
- ListViewInsertedEventArgs.cs
- XmlSignificantWhitespace.cs
- SingleAnimationBase.cs
- GlobalizationSection.cs
- DataRowView.cs
- LogStore.cs
- QilLoop.cs
- _FtpDataStream.cs
- XmlAnyElementAttributes.cs
- SqlSupersetValidator.cs
- WorkflowCreationContext.cs
- AnnotationObservableCollection.cs
- Baml2006ReaderFrame.cs
- BitmapEffectOutputConnector.cs
- XsltException.cs
- CqlQuery.cs
- UserPreferenceChangedEventArgs.cs
- Socket.cs
- LogicalTreeHelper.cs
- XmlTextAttribute.cs
- RelOps.cs