Code:
/ DotNET / DotNET / 8.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
- ScaleTransform3D.cs
- EntityStoreSchemaGenerator.cs
- MessageCredentialType.cs
- DataChangedEventManager.cs
- CounterCreationDataCollection.cs
- NullableBoolConverter.cs
- TriggerCollection.cs
- SpellerError.cs
- Binding.cs
- TerminateSequenceResponse.cs
- DictionaryEntry.cs
- Input.cs
- Page.cs
- TableDetailsRow.cs
- ProxyHwnd.cs
- ReadOnlyNameValueCollection.cs
- Rotation3DAnimationBase.cs
- DBBindings.cs
- OdbcError.cs
- PerformanceCounterManager.cs
- DataGridViewCellStyleBuilderDialog.cs
- MetadataArtifactLoaderCompositeFile.cs
- ColumnWidthChangingEvent.cs
- HtmlEmptyTagControlBuilder.cs
- UnknownWrapper.cs
- SplashScreen.cs
- XmlDataSourceView.cs
- AnnotationComponentManager.cs
- EditBehavior.cs
- List.cs
- ProviderUtil.cs
- InputGestureCollection.cs
- GrammarBuilderRuleRef.cs
- List.cs
- UxThemeWrapper.cs
- TextElementEnumerator.cs
- OrElse.cs
- BaseCodePageEncoding.cs
- GifBitmapDecoder.cs
- OperationInvokerBehavior.cs
- ConstructorNeedsTagAttribute.cs
- CacheForPrimitiveTypes.cs
- BooleanFunctions.cs
- PolicyUnit.cs
- UnsafeNativeMethods.cs
- DataGridViewCellValidatingEventArgs.cs
- KnownTypes.cs
- NameObjectCollectionBase.cs
- GridToolTip.cs
- CredentialManagerDialog.cs
- WebConfigurationFileMap.cs
- XmlValidatingReaderImpl.cs
- WebReferenceCollection.cs
- AccessKeyManager.cs
- TextTreeTextElementNode.cs
- ExpressionParser.cs
- CustomValidator.cs
- SupportingTokenDuplexChannel.cs
- ObjectReaderCompiler.cs
- XmlSchemaSimpleTypeUnion.cs
- AttachmentCollection.cs
- ProxyGenerationError.cs
- WindowsAuthenticationModule.cs
- ColumnMapVisitor.cs
- EmptyElement.cs
- AuthenticateEventArgs.cs
- InternalBase.cs
- IndependentlyAnimatedPropertyMetadata.cs
- SlotInfo.cs
- TreeWalker.cs
- BaseUriHelper.cs
- DbDataSourceEnumerator.cs
- GrammarBuilderPhrase.cs
- OneOfElement.cs
- RegexTree.cs
- HitTestWithGeometryDrawingContextWalker.cs
- FileSystemWatcher.cs
- RoutedEventConverter.cs
- PathSegment.cs
- SubMenuStyleCollectionEditor.cs
- FrameworkElementAutomationPeer.cs
- CngKeyCreationParameters.cs
- CacheSection.cs
- KerberosRequestorSecurityToken.cs
- RequestQueryProcessor.cs
- UIElement.cs
- UserControlDesigner.cs
- RootDesignerSerializerAttribute.cs
- CodeObjectCreateExpression.cs
- TableItemPatternIdentifiers.cs
- ObjectParameter.cs
- ChannelManager.cs
- DataGridView.cs
- DataViewManager.cs
- GridErrorDlg.cs
- CompositionAdorner.cs
- RuleSetDialog.Designer.cs
- BindingList.cs
- BindStream.cs
- COM2ICategorizePropertiesHandler.cs