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
- NavigatorInvalidBodyAccessException.cs
- MILUtilities.cs
- WebServiceClientProxyGenerator.cs
- BufferedGraphics.cs
- DesignerHost.cs
- XamlReaderHelper.cs
- BitmapVisualManager.cs
- XmlAtomicValue.cs
- DelegatingTypeDescriptionProvider.cs
- ImageConverter.cs
- DurableInstanceProvider.cs
- DependencyPropertyChangedEventArgs.cs
- StoreItemCollection.cs
- InstanceContextMode.cs
- SqlReferenceCollection.cs
- XmlCompatibilityReader.cs
- PrivateUnsafeNativeCompoundFileMethods.cs
- HtmlFormWrapper.cs
- MyContact.cs
- Recipient.cs
- RuleSetDialog.Designer.cs
- DocumentAutomationPeer.cs
- TrackingMemoryStream.cs
- FontDialog.cs
- SafeNativeMethods.cs
- SiteMapNodeItemEventArgs.cs
- Lasso.cs
- XmlElementAttributes.cs
- SystemThemeKey.cs
- StateBag.cs
- IPipelineRuntime.cs
- StylusEditingBehavior.cs
- AutomationElementCollection.cs
- QilInvoke.cs
- StylusDevice.cs
- UnauthorizedWebPart.cs
- ReferentialConstraintRoleElement.cs
- NameValuePermission.cs
- GraphicsPath.cs
- SchemaCollectionCompiler.cs
- ComponentEditorPage.cs
- ParameterBuilder.cs
- VisualProxy.cs
- StorageAssociationTypeMapping.cs
- UnsafeNativeMethods.cs
- Variant.cs
- CustomBindingElementCollection.cs
- DesignTableCollection.cs
- DataServiceQuery.cs
- ObjectDataSourceView.cs
- SettingsPropertyWrongTypeException.cs
- ToolStripInSituService.cs
- ComplexPropertyEntry.cs
- NameTable.cs
- CompilerParameters.cs
- VisualTreeHelper.cs
- PhysicalFontFamily.cs
- Padding.cs
- sortedlist.cs
- UpDownBaseDesigner.cs
- DataGridViewRow.cs
- FixedHighlight.cs
- SplayTreeNode.cs
- DbConnectionStringCommon.cs
- ExpressionNormalizer.cs
- TransportConfigurationTypeElement.cs
- SRef.cs
- PageBreakRecord.cs
- SystemColors.cs
- BCryptNative.cs
- CompositeCollection.cs
- CRYPTPROTECT_PROMPTSTRUCT.cs
- SolidBrush.cs
- ToolZone.cs
- Stack.cs
- RayHitTestParameters.cs
- Line.cs
- SmiMetaData.cs
- ThumbButtonInfoCollection.cs
- Hex.cs
- XmlSchemaObjectTable.cs
- TimersDescriptionAttribute.cs
- TextServicesManager.cs
- Queue.cs
- TabItem.cs
- SerializationAttributes.cs
- mactripleDES.cs
- LogExtent.cs
- Knowncolors.cs
- HtmlTableCell.cs
- NullableBoolConverter.cs
- Section.cs
- TransformerInfoCollection.cs
- BitmapPalette.cs
- SoapReflectionImporter.cs
- ColumnMapVisitor.cs
- Encoder.cs
- EdmSchemaError.cs
- EditorPartChrome.cs
- FreezableOperations.cs