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
- BaseComponentEditor.cs
- Hex.cs
- LOSFormatter.cs
- CompilerHelpers.cs
- StrictAndMessageFilter.cs
- AutomationIdentifier.cs
- DataGridViewButtonColumn.cs
- UInt32Storage.cs
- SmtpLoginAuthenticationModule.cs
- TransactionManager.cs
- ArgumentOutOfRangeException.cs
- Bits.cs
- TimersDescriptionAttribute.cs
- SpnEndpointIdentityExtension.cs
- CapabilitiesRule.cs
- AuthenticationSection.cs
- Point.cs
- SecurityKeyUsage.cs
- MobileControlsSection.cs
- TakeQueryOptionExpression.cs
- FormattedText.cs
- PolicyVersion.cs
- BitmapEffectDrawing.cs
- wgx_sdk_version.cs
- IntSecurity.cs
- Popup.cs
- UnsafeNativeMethodsTablet.cs
- SerializationInfoEnumerator.cs
- DBCommandBuilder.cs
- MenuItemStyleCollection.cs
- BitmapDecoder.cs
- SqlException.cs
- UnionCodeGroup.cs
- SqlParameterCollection.cs
- UInt64Storage.cs
- basecomparevalidator.cs
- SafeNativeMethodsCLR.cs
- ItemTypeToolStripMenuItem.cs
- TemplateNameScope.cs
- RemotingServices.cs
- XmlBaseWriter.cs
- FileRegion.cs
- UnmanagedMemoryStreamWrapper.cs
- SQLMoney.cs
- CapabilitiesAssignment.cs
- BitmapEffectCollection.cs
- RelationshipConstraintValidator.cs
- WorkflowRuntime.cs
- CompilerLocalReference.cs
- ReadOnlyNameValueCollection.cs
- Style.cs
- Span.cs
- AuthorizationRuleCollection.cs
- ExplicitDiscriminatorMap.cs
- FixUp.cs
- ActivityCodeDomSerializationManager.cs
- ParenthesizePropertyNameAttribute.cs
- SiteMapNode.cs
- TextMetrics.cs
- DifferencingCollection.cs
- DrawingContextWalker.cs
- WinInet.cs
- RegisteredScript.cs
- DictionarySectionHandler.cs
- SoapSchemaImporter.cs
- KeyMatchBuilder.cs
- Hashtable.cs
- ConnectionsZone.cs
- ConfigDefinitionUpdates.cs
- StringPropertyBuilder.cs
- KoreanCalendar.cs
- RuleEngine.cs
- FactoryId.cs
- CellParaClient.cs
- TypeResolver.cs
- StrokeNodeOperations.cs
- AccessDataSourceDesigner.cs
- OperationPickerDialog.cs
- DataServiceQueryException.cs
- BamlMapTable.cs
- Propagator.JoinPropagator.cs
- ObfuscateAssemblyAttribute.cs
- UpdateManifestForBrowserApplication.cs
- _CommandStream.cs
- OraclePermission.cs
- KnownBoxes.cs
- ProcessManager.cs
- QilValidationVisitor.cs
- WebEvents.cs
- ByteStreamGeometryContext.cs
- EntitySqlQueryState.cs
- HtmlContainerControl.cs
- PrintController.cs
- BCryptSafeHandles.cs
- TranslateTransform.cs
- MenuItemStyle.cs
- ObjectConverter.cs
- RegisteredScript.cs
- MemberNameValidator.cs
- ShimAsPublicXamlType.cs