Code:
/ FX-1434 / FX-1434 / 1.0 / untmp / whidbey / REDBITS / ndp / fx / src / Net / System / Net / Sockets / MulticastOption.cs / 1 / 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/// Sets the interface index. /// ///
Link Menu
This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- CallbackHandler.cs
- UIElement3DAutomationPeer.cs
- OutputScope.cs
- ToolStripArrowRenderEventArgs.cs
- InputScopeConverter.cs
- StringFormat.cs
- MaskedTextBox.cs
- IdentityManager.cs
- DisplayInformation.cs
- SqlConnectionString.cs
- HttpInputStream.cs
- HttpModulesSection.cs
- QilVisitor.cs
- PcmConverter.cs
- XamlStackWriter.cs
- TextBox.cs
- QueryTask.cs
- OciLobLocator.cs
- ListItem.cs
- SpellerStatusTable.cs
- TypeUtil.cs
- GridViewDeletedEventArgs.cs
- Avt.cs
- basevalidator.cs
- PageWrapper.cs
- DispatchChannelSink.cs
- SmtpCommands.cs
- DataSourceHelper.cs
- XhtmlConformanceSection.cs
- ImageListImage.cs
- StateBag.cs
- XmlIncludeAttribute.cs
- RecognizerInfo.cs
- NominalTypeEliminator.cs
- QueueSurrogate.cs
- SchemaType.cs
- QilReplaceVisitor.cs
- ReachFixedDocumentSerializerAsync.cs
- DesignTimeValidationFeature.cs
- NaturalLanguageHyphenator.cs
- Int16KeyFrameCollection.cs
- Delegate.cs
- OutputCacheProfileCollection.cs
- GetParentChain.cs
- Mouse.cs
- UseLicense.cs
- SwitchAttribute.cs
- SqlInternalConnectionTds.cs
- WindowsAuthenticationModule.cs
- TextEditor.cs
- OrderedDictionary.cs
- SecurityAccessDeniedException.cs
- Html32TextWriter.cs
- Pen.cs
- StringKeyFrameCollection.cs
- Script.cs
- ServerIdentity.cs
- OutOfProcStateClientManager.cs
- OledbConnectionStringbuilder.cs
- SafeRightsManagementSessionHandle.cs
- EndEvent.cs
- NumericExpr.cs
- Focus.cs
- BufferedConnection.cs
- ReferenceSchema.cs
- wgx_exports.cs
- RenderOptions.cs
- InstallerTypeAttribute.cs
- DefaultBindingPropertyAttribute.cs
- DataKey.cs
- ConfigUtil.cs
- Overlapped.cs
- WindowsFormsHost.cs
- DescendentsWalker.cs
- DeviceSpecificChoiceCollection.cs
- GraphicsPath.cs
- MultipleViewPattern.cs
- PhoneCall.cs
- HtmlTable.cs
- FlowDocumentReader.cs
- EnumerableCollectionView.cs
- FloaterParaClient.cs
- WebPartEditVerb.cs
- FileDialogCustomPlacesCollection.cs
- LinqDataSourceSelectEventArgs.cs
- xdrvalidator.cs
- SelectingProviderEventArgs.cs
- CapabilitiesPattern.cs
- FacetChecker.cs
- PointConverter.cs
- HierarchicalDataSourceDesigner.cs
- UnsafeNativeMethods.cs
- DesignerExtenders.cs
- PageWrapper.cs
- RSAPKCS1KeyExchangeDeformatter.cs
- SafeFileMapViewHandle.cs
- FixedDSBuilder.cs
- ToolStripSplitButton.cs
- ExpressionBindingCollection.cs
- ScrollBar.cs