Code:
/ 4.0 / 4.0 / untmp / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / fx / src / Net / System / Net / NetworkInformation / SystemIPInterfaceStatistics.cs / 1305376 / 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); } } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007. // Copyright (c) Microsoft Corporation. All rights reserved.
Link Menu
This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- DataDocumentXPathNavigator.cs
- GeometryCollection.cs
- FileDialogCustomPlace.cs
- CodeArrayCreateExpression.cs
- CalculatedColumn.cs
- ProcessModuleCollection.cs
- EventLogException.cs
- Button.cs
- SaveCardRequest.cs
- HandoffBehavior.cs
- WpfWebRequestHelper.cs
- Profiler.cs
- DeferrableContentConverter.cs
- ExtentCqlBlock.cs
- ByteStorage.cs
- DataTableNewRowEvent.cs
- MiniAssembly.cs
- BrowserCapabilitiesCompiler.cs
- RenderCapability.cs
- PenCursorManager.cs
- ListViewDataItem.cs
- PositiveTimeSpanValidatorAttribute.cs
- AuthenticationManager.cs
- PropertyEntry.cs
- SessionStateItemCollection.cs
- StringUtil.cs
- BindingUtils.cs
- KeyNotFoundException.cs
- SessionEndingCancelEventArgs.cs
- CryptoKeySecurity.cs
- AlgoModule.cs
- TextEffectCollection.cs
- Condition.cs
- HandlerMappingMemo.cs
- StructuralType.cs
- CacheForPrimitiveTypes.cs
- ProtocolState.cs
- SmiRequestExecutor.cs
- KeyedHashAlgorithm.cs
- WCFModelStrings.Designer.cs
- OutputCacheProfile.cs
- DispatchChannelSink.cs
- _ConnectStream.cs
- RC2.cs
- OutputCacheEntry.cs
- SimpleTypeResolver.cs
- BidOverLoads.cs
- TextSelection.cs
- PreservationFileWriter.cs
- ToolTipService.cs
- RuntimeHandles.cs
- CustomAssemblyResolver.cs
- SafeUserTokenHandle.cs
- ScrollableControl.cs
- RadioButton.cs
- ParameterModifier.cs
- CodeDefaultValueExpression.cs
- XmlSchemaAll.cs
- HttpServerVarsCollection.cs
- SQLSingle.cs
- ChannelOptions.cs
- HandlerBase.cs
- DataViewManagerListItemTypeDescriptor.cs
- BaseCodePageEncoding.cs
- EdmItemCollection.cs
- ConstantCheck.cs
- LinkDescriptor.cs
- TypedOperationInfo.cs
- OleDbPropertySetGuid.cs
- KnownBoxes.cs
- IntSecurity.cs
- _NestedMultipleAsyncResult.cs
- MultiViewDesigner.cs
- TypePropertyEditor.cs
- NavigatingCancelEventArgs.cs
- ItemMap.cs
- RoutedEventArgs.cs
- ResourceManagerWrapper.cs
- DisplayMemberTemplateSelector.cs
- StreamWriter.cs
- WorkflowServiceBuildProvider.cs
- SqlCommandSet.cs
- SortedDictionary.cs
- ImageField.cs
- AssemblyAssociatedContentFileAttribute.cs
- MemberAccessException.cs
- AnimationTimeline.cs
- PropertyEmitter.cs
- BuildManagerHost.cs
- ColorMap.cs
- HttpWebResponse.cs
- MouseDevice.cs
- DeclarativeCatalogPart.cs
- AuthStoreRoleProvider.cs
- DockingAttribute.cs
- WebPartUtil.cs
- WebBrowserNavigatedEventHandler.cs
- SecurityTokenInclusionMode.cs
- ConfigXmlCDataSection.cs
- ThreadPool.cs