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
- Grid.cs
- XmlSchemaSet.cs
- TemplateBindingExpression.cs
- WorkflowServiceHostFactory.cs
- COM2Properties.cs
- CustomActivityDesigner.cs
- ContentOperations.cs
- ContextMenuStripGroupCollection.cs
- SqlBulkCopyColumnMapping.cs
- XmlSchemaSimpleContentRestriction.cs
- OrCondition.cs
- oledbmetadatacollectionnames.cs
- ReceiveActivityDesigner.cs
- SqlDataSourceFilteringEventArgs.cs
- Logging.cs
- GuidelineSet.cs
- EnvironmentPermission.cs
- Material.cs
- Application.cs
- MetabaseServerConfig.cs
- NotImplementedException.cs
- WindowsAltTab.cs
- ProtocolsConfigurationHandler.cs
- FileInfo.cs
- PasswordRecovery.cs
- diagnosticsswitches.cs
- RuleSettingsCollection.cs
- DetailsViewDeleteEventArgs.cs
- SqlNodeAnnotations.cs
- DrawTreeNodeEventArgs.cs
- LockCookie.cs
- XpsS0ValidatingLoader.cs
- TypedServiceOperationListItem.cs
- ConnectionOrientedTransportBindingElement.cs
- WebEventTraceProvider.cs
- AsymmetricKeyExchangeDeformatter.cs
- HttpPostLocalhostServerProtocol.cs
- SynchronizedInputProviderWrapper.cs
- ClrProviderManifest.cs
- MtomMessageEncodingElement.cs
- SystemDiagnosticsSection.cs
- SafeEventLogReadHandle.cs
- SafeRightsManagementPubHandle.cs
- XmlValueConverter.cs
- ContentAlignmentEditor.cs
- Annotation.cs
- RegistryPermission.cs
- ConnectionStringEditor.cs
- DataServiceConfiguration.cs
- SchemaManager.cs
- NaturalLanguageHyphenator.cs
- RSAPKCS1SignatureDeformatter.cs
- InProcStateClientManager.cs
- XmlFormatReaderGenerator.cs
- TraceShell.cs
- SelectionListComponentEditor.cs
- AsyncSerializedWorker.cs
- CompositeScriptReference.cs
- XmlSchemaValidationException.cs
- ServiceProviders.cs
- ContentPresenter.cs
- COM2PictureConverter.cs
- HttpConfigurationSystem.cs
- ConstraintManager.cs
- CopyNamespacesAction.cs
- MainMenu.cs
- SchemaComplexType.cs
- InputScopeAttribute.cs
- SaveRecipientRequest.cs
- ResourcesBuildProvider.cs
- ArgumentNullException.cs
- LambdaCompiler.Generated.cs
- brushes.cs
- UnsafeNativeMethodsTablet.cs
- Resources.Designer.cs
- HtmlInputPassword.cs
- DigestTraceRecordHelper.cs
- Triplet.cs
- UpdateProgress.cs
- ThreadExceptionEvent.cs
- Metafile.cs
- SiteMap.cs
- ExecutorLocksHeldException.cs
- GridSplitterAutomationPeer.cs
- WindowsRebar.cs
- EdmError.cs
- StorageEntityTypeMapping.cs
- VersionedStream.cs
- AssemblyUtil.cs
- MemoryPressure.cs
- ToolStripDropTargetManager.cs
- EditorZoneBase.cs
- KeyValuePairs.cs
- MenuAutoFormat.cs
- UpdateManifestForBrowserApplication.cs
- XmlElementAttributes.cs
- TextEditorParagraphs.cs
- EncodingNLS.cs
- CryptoConfig.cs
- SqlNodeTypeOperators.cs