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
- AccessDataSourceWizardForm.cs
- SelectionGlyph.cs
- XmlSchemaImporter.cs
- ContractListAdapter.cs
- MetadataItem_Static.cs
- Repeater.cs
- WinFormsSecurity.cs
- TargetParameterCountException.cs
- Msmq3PoisonHandler.cs
- EventItfInfo.cs
- ArrayWithOffset.cs
- CLSCompliantAttribute.cs
- xsdvalidator.cs
- ScrollContentPresenter.cs
- SimpleBitVector32.cs
- Module.cs
- SqlCharStream.cs
- ChannelCacheSettings.cs
- OleDbParameterCollection.cs
- XPathBinder.cs
- WindowClosedEventArgs.cs
- Point4DValueSerializer.cs
- DependencyObject.cs
- NullableIntMinMaxAggregationOperator.cs
- ImageAutomationPeer.cs
- BaseServiceProvider.cs
- VersionedStream.cs
- columnmapfactory.cs
- SqlUDTStorage.cs
- MediaScriptCommandRoutedEventArgs.cs
- EntityClientCacheKey.cs
- ConnectionConsumerAttribute.cs
- DurableEnlistmentState.cs
- XamlPoint3DCollectionSerializer.cs
- TypeTypeConverter.cs
- odbcmetadatacolumnnames.cs
- ArgumentReference.cs
- BoundsDrawingContextWalker.cs
- HttpException.cs
- ByteAnimationUsingKeyFrames.cs
- UpdatePanel.cs
- OutputWindow.cs
- ListBoxItem.cs
- WindowInteractionStateTracker.cs
- AlternateViewCollection.cs
- VerificationAttribute.cs
- AppDomainUnloadedException.cs
- TraceShell.cs
- BaseDataListDesigner.cs
- RowBinding.cs
- WhitespaceRule.cs
- ChangeInterceptorAttribute.cs
- CustomAssemblyResolver.cs
- WebPartHelpVerb.cs
- ParserContext.cs
- EventDescriptor.cs
- EventPrivateKey.cs
- TreeView.cs
- ModifierKeysValueSerializer.cs
- TemplatePropertyEntry.cs
- XmlElementList.cs
- WebPartConnectionsConfigureVerb.cs
- SplitContainer.cs
- WebPartZoneBase.cs
- GradientStop.cs
- SocketCache.cs
- WsdlInspector.cs
- Transform3DGroup.cs
- EdmTypeAttribute.cs
- TableStyle.cs
- ISFClipboardData.cs
- BrushMappingModeValidation.cs
- DataGridViewColumnCollection.cs
- BadImageFormatException.cs
- XmlMembersMapping.cs
- WindowsHyperlink.cs
- XmlCustomFormatter.cs
- LayoutEditorPart.cs
- BoundsDrawingContextWalker.cs
- CriticalHandle.cs
- ObjectDataSourceDesigner.cs
- ByteStorage.cs
- Normalization.cs
- DropDownButton.cs
- RuntimeCompatibilityAttribute.cs
- XmlSchemaSimpleContent.cs
- SqlTriggerAttribute.cs
- TextEditorSpelling.cs
- MemberCollection.cs
- TriggerActionCollection.cs
- InsufficientExecutionStackException.cs
- Size3DValueSerializer.cs
- LogicalExpr.cs
- ReadOnlyDataSourceView.cs
- LinkArea.cs
- PrintPreviewControl.cs
- FullTrustAssembliesSection.cs
- SynchronizedCollection.cs
- ExecutionPropertyManager.cs
- TextEffectCollection.cs