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
- EncoderNLS.cs
- BitmapInitialize.cs
- TypeUtil.cs
- ContentDefinition.cs
- XmlSchemaGroup.cs
- SemanticResultValue.cs
- PinnedBufferMemoryStream.cs
- MarkupProperty.cs
- SafeCryptoHandles.cs
- IPAddress.cs
- Thread.cs
- ProcessThreadCollection.cs
- SimpleExpression.cs
- Journal.cs
- AppLevelCompilationSectionCache.cs
- DataGridCellInfo.cs
- ReadOnlyKeyedCollection.cs
- PrivilegeNotHeldException.cs
- CompiledQueryCacheEntry.cs
- DataTableNewRowEvent.cs
- CroppedBitmap.cs
- ReflectionHelper.cs
- EntityKeyElement.cs
- SafeFileMappingHandle.cs
- WebPartDeleteVerb.cs
- Panel.cs
- PolicyLevel.cs
- Cursor.cs
- InfoCardClaim.cs
- HttpRuntimeSection.cs
- SystemParameters.cs
- LayoutEditorPart.cs
- PersonalizationProviderCollection.cs
- ErrorHandler.cs
- safePerfProviderHandle.cs
- AnimationClock.cs
- HttpHostedTransportConfiguration.cs
- PerfProviderCollection.cs
- ClientSettingsSection.cs
- OdbcConnection.cs
- StrongTypingException.cs
- ObjectComplexPropertyMapping.cs
- SelectionProviderWrapper.cs
- SymbolResolver.cs
- _SafeNetHandles.cs
- DoubleCollectionConverter.cs
- BasicViewGenerator.cs
- Events.cs
- MembershipValidatePasswordEventArgs.cs
- ToolStripRenderEventArgs.cs
- TabletDevice.cs
- MimeXmlReflector.cs
- SerTrace.cs
- DefaultMemberAttribute.cs
- RoamingStoreFile.cs
- ProcessModuleCollection.cs
- CheckBox.cs
- StatusBarAutomationPeer.cs
- ToolStripDesigner.cs
- HandleRef.cs
- ClosureBinding.cs
- ZoneIdentityPermission.cs
- NamespaceMapping.cs
- MembershipSection.cs
- XmlBinaryReaderSession.cs
- SpellerStatusTable.cs
- _ProxyRegBlob.cs
- DataGridRowEventArgs.cs
- DataMemberFieldConverter.cs
- QueryServiceConfigHandle.cs
- QueryExtender.cs
- SqlClientMetaDataCollectionNames.cs
- CodeExporter.cs
- DataGridColumnHeadersPresenterAutomationPeer.cs
- CustomExpressionEventArgs.cs
- DoubleKeyFrameCollection.cs
- EntityTypeBase.cs
- ContentType.cs
- ConnectorEditor.cs
- Route.cs
- ProtocolElementCollection.cs
- KeyConverter.cs
- BasicExpandProvider.cs
- SchemaElementLookUpTableEnumerator.cs
- ColorConvertedBitmap.cs
- UnsafeNativeMethodsTablet.cs
- StringUtil.cs
- _LazyAsyncResult.cs
- PathFigureCollection.cs
- CLRBindingWorker.cs
- XmlName.cs
- DocumentOrderQuery.cs
- MatrixKeyFrameCollection.cs
- SupportingTokenParameters.cs
- DateTimeOffsetConverter.cs
- ScriptManager.cs
- AnonymousIdentificationModule.cs
- SafeNativeMethods.cs
- QilReference.cs
- ElementProxy.cs