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
- SerializerDescriptor.cs
- TypeUtil.cs
- CookielessHelper.cs
- X509ChainPolicy.cs
- AuthenticationConfig.cs
- MatrixStack.cs
- handlecollector.cs
- RSAPKCS1KeyExchangeDeformatter.cs
- CircleHotSpot.cs
- NamespaceMapping.cs
- ManagementNamedValueCollection.cs
- LongTypeConverter.cs
- PersistNameAttribute.cs
- FrameworkTemplate.cs
- MethodAccessException.cs
- CommonXSendMessage.cs
- RestClientProxyHandler.cs
- WeakEventManager.cs
- SiteOfOriginPart.cs
- Filter.cs
- RegistryDataKey.cs
- XmlSchemaAnyAttribute.cs
- FtpWebRequest.cs
- Fonts.cs
- Application.cs
- BindingListCollectionView.cs
- PersonalizationProviderCollection.cs
- WebBodyFormatMessageProperty.cs
- FontDialog.cs
- GeneralTransformGroup.cs
- DataTable.cs
- EncoderFallback.cs
- Button.cs
- TypeDependencyAttribute.cs
- MemoryStream.cs
- FormViewPageEventArgs.cs
- CacheMode.cs
- EncryptRequest.cs
- ImageConverter.cs
- FileIOPermission.cs
- SettingsSection.cs
- Int64Storage.cs
- DataControlPagerLinkButton.cs
- RequestQueryParser.cs
- DataSpaceManager.cs
- MultiView.cs
- SettingsProperty.cs
- ExpressionPrinter.cs
- _FtpControlStream.cs
- XmlDictionaryString.cs
- ChunkedMemoryStream.cs
- ScrollContentPresenter.cs
- TypeConverters.cs
- StorageEntityTypeMapping.cs
- TCPClient.cs
- PtsHelper.cs
- CodePrimitiveExpression.cs
- XmlEnumAttribute.cs
- ObjectStateEntry.cs
- UnsignedPublishLicense.cs
- RangeValidator.cs
- PackagingUtilities.cs
- AsynchronousChannelMergeEnumerator.cs
- Variant.cs
- ListControlConvertEventArgs.cs
- EmptyReadOnlyDictionaryInternal.cs
- __ComObject.cs
- FullTextBreakpoint.cs
- HttpProfileGroupBase.cs
- ZoneMembershipCondition.cs
- CompilerError.cs
- DataServiceRequestOfT.cs
- UriParserTemplates.cs
- PageHandlerFactory.cs
- DelayLoadType.cs
- DetailsViewActionList.cs
- NextPreviousPagerField.cs
- DataGridViewTopLeftHeaderCell.cs
- IntegerValidatorAttribute.cs
- DataGridViewRowStateChangedEventArgs.cs
- HttpHandlerAction.cs
- SqlFunctionAttribute.cs
- UIHelper.cs
- ArgumentReference.cs
- exports.cs
- ExpressionSelection.cs
- ListViewInsertedEventArgs.cs
- UnmanagedMarshal.cs
- FixedLineResult.cs
- MtomMessageEncodingElement.cs
- IApplicationTrustManager.cs
- SafeNativeMethodsCLR.cs
- DataGridViewCellValidatingEventArgs.cs
- ActivityExecutionFilter.cs
- XmlObjectSerializerWriteContextComplexJson.cs
- TransactionsSectionGroup.cs
- RepeatInfo.cs
- Pen.cs
- BindingExpressionUncommonField.cs
- MailSettingsSection.cs