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
- OuterGlowBitmapEffect.cs
- PropertyToken.cs
- WebPartEditVerb.cs
- DataGridViewCellStyleEditor.cs
- ResourceContainer.cs
- FontFamilyConverter.cs
- CompilerTypeWithParams.cs
- DPAPIProtectedConfigurationProvider.cs
- FlowLayoutPanel.cs
- EntityObject.cs
- GroupDescription.cs
- SuppressIldasmAttribute.cs
- TrustSection.cs
- CheckedListBox.cs
- TextureBrush.cs
- base64Transforms.cs
- Image.cs
- PingReply.cs
- Metadata.cs
- PrintPageEvent.cs
- StorageModelBuildProvider.cs
- XamlFigureLengthSerializer.cs
- XPathDocumentBuilder.cs
- ChannelParameterCollection.cs
- MoveSizeWinEventHandler.cs
- FileSystemEventArgs.cs
- WebBrowserHelper.cs
- ListBoxItem.cs
- ManagementDateTime.cs
- IItemProperties.cs
- TemplateInstanceAttribute.cs
- TraceUtils.cs
- SerTrace.cs
- FastEncoder.cs
- Trace.cs
- SimpleWebHandlerParser.cs
- TrustSection.cs
- HttpValueCollection.cs
- ApplicationContext.cs
- EventInfo.cs
- PrimitiveCodeDomSerializer.cs
- PasswordTextNavigator.cs
- TextElementCollection.cs
- BitmapSizeOptions.cs
- TakeOrSkipQueryOperator.cs
- NullReferenceException.cs
- RepeatInfo.cs
- ServicePoint.cs
- DocumentApplicationDocumentViewer.cs
- Constraint.cs
- Filter.cs
- ChannelEndpointElement.cs
- ListViewDataItem.cs
- StateManagedCollection.cs
- ExtensionDataReader.cs
- altserialization.cs
- MaskInputRejectedEventArgs.cs
- MachineKeySection.cs
- FontUnitConverter.cs
- PropertyGroupDescription.cs
- WorkflowServiceHostFactory.cs
- ReadOnlyHierarchicalDataSourceView.cs
- DBCSCodePageEncoding.cs
- LoginNameDesigner.cs
- SystemNetHelpers.cs
- SqlCommand.cs
- RuntimeCompatibilityAttribute.cs
- Convert.cs
- FormViewDeleteEventArgs.cs
- AncillaryOps.cs
- SigningDialog.cs
- XmlAttributeCollection.cs
- WebPartDisplayModeCollection.cs
- streamingZipPartStream.cs
- ByteStreamGeometryContext.cs
- Converter.cs
- TypedElement.cs
- SmiEventSink.cs
- TableCell.cs
- SmtpDigestAuthenticationModule.cs
- DataGridRelationshipRow.cs
- SerializationHelper.cs
- ThemeDirectoryCompiler.cs
- ImplicitInputBrush.cs
- UriWriter.cs
- ToolTip.cs
- DataGridTable.cs
- EntityDataSourceView.cs
- TextElement.cs
- DecoderFallback.cs
- ConfigXmlText.cs
- DemultiplexingDispatchMessageFormatter.cs
- Rectangle.cs
- CorrelationValidator.cs
- SecurityTokenValidationException.cs
- SessionSwitchEventArgs.cs
- XmlTextAttribute.cs
- DBAsyncResult.cs
- LineSegment.cs
- DetailsViewCommandEventArgs.cs