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
- FastEncoderStatics.cs
- UseManagedPresentationBindingElementImporter.cs
- RuntimeEnvironment.cs
- GeneralTransformGroup.cs
- UnmanagedBitmapWrapper.cs
- AppDomainProtocolHandler.cs
- SHA1.cs
- PropertyMapper.cs
- Console.cs
- CodeObject.cs
- HttpCapabilitiesEvaluator.cs
- EncryptedXml.cs
- ZoneIdentityPermission.cs
- ResizingMessageFilter.cs
- ChangeBlockUndoRecord.cs
- NonBatchDirectoryCompiler.cs
- DataGridTextBox.cs
- TimeSpanConverter.cs
- AsyncDataRequest.cs
- StorageFunctionMapping.cs
- SqlReferenceCollection.cs
- PointAnimationUsingKeyFrames.cs
- TcpHostedTransportConfiguration.cs
- IxmlLineInfo.cs
- StandardBindingElementCollection.cs
- ExpressionNode.cs
- HostingPreferredMapPath.cs
- AvTrace.cs
- Walker.cs
- FieldAccessException.cs
- AllMembershipCondition.cs
- WebPartDisplayModeCollection.cs
- RelationshipConverter.cs
- ActivityDesignerResources.cs
- Condition.cs
- FieldNameLookup.cs
- Types.cs
- PasswordDeriveBytes.cs
- IsolatedStorageSecurityState.cs
- InternalsVisibleToAttribute.cs
- PropertyRecord.cs
- EventTask.cs
- CustomTypeDescriptor.cs
- FastPropertyAccessor.cs
- ItemDragEvent.cs
- httpserverutility.cs
- HashCoreRequest.cs
- COM2DataTypeToManagedDataTypeConverter.cs
- InputLanguageManager.cs
- EntityKeyElement.cs
- _Win32.cs
- DivideByZeroException.cs
- StreamWriter.cs
- GridViewUpdateEventArgs.cs
- QilList.cs
- Font.cs
- EncryptedData.cs
- DynamicMethod.cs
- EntityDataSourceStatementEditor.cs
- XsdBuilder.cs
- ConnectionManager.cs
- ToolStripEditorManager.cs
- ImpersonationContext.cs
- AnnotationAdorner.cs
- PerfCounterSection.cs
- DbParameterHelper.cs
- XmlDigitalSignatureProcessor.cs
- ChangePassword.cs
- FrameworkName.cs
- PrintDialogException.cs
- GetTokenRequest.cs
- NumericExpr.cs
- WebPartActionVerb.cs
- MailAddress.cs
- ComPlusServiceHost.cs
- OrderedDictionary.cs
- Switch.cs
- DefaultExpression.cs
- GetFileNameResult.cs
- HeaderedContentControl.cs
- TempFiles.cs
- EdmPropertyAttribute.cs
- XmlComplianceUtil.cs
- ItemCollection.cs
- MailWriter.cs
- ExtensibleClassFactory.cs
- GlyphInfoList.cs
- ProviderConnectionPoint.cs
- ISO2022Encoding.cs
- ReflectionHelper.cs
- DataRowCollection.cs
- MissingSatelliteAssemblyException.cs
- ArithmeticException.cs
- SqlDeflator.cs
- ChangeConflicts.cs
- SafeLibraryHandle.cs
- WebContext.cs
- DataServiceHostWrapper.cs
- TextRangeEditTables.cs
- InputLanguageManager.cs