Code:
/ 4.0 / 4.0 / untmp / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / fx / src / Net / System / Net / Sockets / MulticastOption.cs / 1305376 / MulticastOption.cs
//------------------------------------------------------------------------------ //// Copyright (c) Microsoft Corporation. All rights reserved. // //----------------------------------------------------------------------------- namespace System.Net.Sockets { using System.Net; ////// public class MulticastOption { IPAddress group; IPAddress localAddress; int ifIndex; ////// Contains option values /// for IP multicast packets. /// ////// public MulticastOption(IPAddress group, IPAddress mcint) { if (group == null) { throw new ArgumentNullException("group"); } if (mcint == null) { throw new ArgumentNullException("mcint"); } Group = group; LocalAddress = mcint; } public MulticastOption(IPAddress group, int interfaceIndex) { if (group == null) { throw new ArgumentNullException("group"); } if ( interfaceIndex < 0 || interfaceIndex > 0x00FFFFFF ) { throw new ArgumentOutOfRangeException("interfaceIndex"); } #if !FEATURE_PAL if (!ComNetOS.IsPostWin2K){ throw new PlatformNotSupportedException(SR.GetString(SR.WinXPRequired)); } #endif // !FEATURE_PAL Group = group; ifIndex = interfaceIndex; } ////// Creates a new instance of the MulticaseOption class with the specified IP /// address group and local address. /// ////// public MulticastOption(IPAddress group) { if (group == null) { throw new ArgumentNullException("group"); } Group = group; LocalAddress = IPAddress.Any; } ////// Creates a new version of the MulticastOption class for the specified /// group. /// ////// public IPAddress Group { get { return group; } set { group = value; } } ////// Sets the IP address of a multicast group. /// ////// public IPAddress LocalAddress { get { return localAddress; } set { ifIndex = 0; localAddress = value; } } public int InterfaceIndex { get { return ifIndex; } set { if ( value < 0 || value > 0x00FFFFFF ) { throw new ArgumentOutOfRangeException("value"); } #if !FEATURE_PAL if (!ComNetOS.IsPostWin2K){ throw new PlatformNotSupportedException(SR.GetString(SR.WinXPRequired)); } #endif // !FEATURE_PAL localAddress = null; ifIndex = value; } } } // class MulticastOption ////// Sets the local address of a multicast group. /// ////// public class IPv6MulticastOption { IPAddress m_Group; long m_Interface; ////// Contains option values for joining an IPv6 multicast group. /// ////// public IPv6MulticastOption(IPAddress group, long ifindex) { if (group == null) { throw new ArgumentNullException("group"); } if ( ifindex < 0 || ifindex > 0x00000000FFFFFFFF ) { throw new ArgumentOutOfRangeException("ifindex"); } Group = group; InterfaceIndex = ifindex; } ////// Creates a new instance of the MulticaseOption class with the specified IP /// address group and local address. /// ////// public IPv6MulticastOption(IPAddress group) { if (group == null) { throw new ArgumentNullException("group"); } Group = group; InterfaceIndex = 0; } ////// Creates a new version of the MulticastOption class for the specified /// group. /// ////// public IPAddress Group { get { return m_Group; } set { if (value == null) { throw new ArgumentNullException("value"); } m_Group = value; } } ////// Sets the IP address of a multicast group. /// ////// public long InterfaceIndex { get { return m_Interface; } set { if ( value < 0 || value > 0x00000000FFFFFFFF ) { throw new ArgumentOutOfRangeException("value"); } m_Interface = value; } } } // class MulticastOptionIPv6 } // namespace System.Net.Sockets // File provided for Reference Use Only by Microsoft Corporation (c) 2007./// Sets the interface index. /// ///
Link Menu
This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- ImageFormatConverter.cs
- Decimal.cs
- CustomCategoryAttribute.cs
- ValidationResult.cs
- TransformDescriptor.cs
- PlainXmlWriter.cs
- ActivationArguments.cs
- XmlArrayAttribute.cs
- ToolStripSeparator.cs
- Rect3DConverter.cs
- BaseWebProxyFinder.cs
- ReadOnlyState.cs
- AvTrace.cs
- WpfMemberInvoker.cs
- PathGeometry.cs
- DefaultPropertyAttribute.cs
- ConfigXmlCDataSection.cs
- PbrsForward.cs
- recordstatescratchpad.cs
- WebConfigurationHost.cs
- StorageEntityTypeMapping.cs
- Transform3DGroup.cs
- WindowAutomationPeer.cs
- MaskedTextProvider.cs
- SafeRegistryKey.cs
- SqlConnectionHelper.cs
- FlatButtonAppearance.cs
- EventLogEntryCollection.cs
- FactoryMaker.cs
- ColorDialog.cs
- DataControlFieldCollection.cs
- TrackBarDesigner.cs
- HtmlControlPersistable.cs
- SmtpNegotiateAuthenticationModule.cs
- FormsAuthenticationEventArgs.cs
- PropertyGridCommands.cs
- HttpsChannelFactory.cs
- AffineTransform3D.cs
- ProfilePropertySettings.cs
- BuildProvider.cs
- Listbox.cs
- Rotation3DAnimation.cs
- CoreSwitches.cs
- Pts.cs
- SparseMemoryStream.cs
- StylusCaptureWithinProperty.cs
- AliasedSlot.cs
- StreamInfo.cs
- XslTransform.cs
- NameValueSectionHandler.cs
- ColorTypeConverter.cs
- StreamUpdate.cs
- CertificateReferenceElement.cs
- MultiDataTrigger.cs
- ConnectionManagementElementCollection.cs
- GeometryCollection.cs
- ValidatorCollection.cs
- CodeTypeDelegate.cs
- PeoplePickerWrapper.cs
- HighlightOverlayGlyph.cs
- EnumConverter.cs
- StringFreezingAttribute.cs
- MemberCollection.cs
- _LocalDataStoreMgr.cs
- DiscoveryClientElement.cs
- RecognizedWordUnit.cs
- Internal.cs
- TransactionScope.cs
- SafeNativeMethods.cs
- CursorConverter.cs
- Header.cs
- XPathNavigatorKeyComparer.cs
- ObjectReaderCompiler.cs
- GradientStop.cs
- StringPropertyBuilder.cs
- HtmlMeta.cs
- HttpFileCollectionBase.cs
- ExpressionNormalizer.cs
- TextWriter.cs
- SourceInterpreter.cs
- keycontainerpermission.cs
- PcmConverter.cs
- BooleanFunctions.cs
- DropDownList.cs
- WebPartTracker.cs
- TableColumnCollection.cs
- RecommendedAsConfigurableAttribute.cs
- SharedStatics.cs
- DispatcherSynchronizationContext.cs
- FixedPosition.cs
- DelegateHelpers.Generated.cs
- RSAOAEPKeyExchangeFormatter.cs
- XmlParserContext.cs
- SiteMembershipCondition.cs
- PointCollectionConverter.cs
- URIFormatException.cs
- NativeRecognizer.cs
- QilReplaceVisitor.cs
- NegationPusher.cs
- PnrpPeerResolverElement.cs