3 /// Provides support for ip configuation information and statistics.
6 namespace System.Net.NetworkInformation {
10 /// <include file='doc\NetworkInterface.uex' path='docs/doc[@for="IPMulticastAddressInformation"]/*' />
11 /// <summary>Specifies the Multicast addresses for an interface.</summary>
13 internal class SystemMulticastIPAddressInformation:MulticastIPAddressInformation {
15 private SystemIPAddressInformation innerInfo;
17 private SystemMulticastIPAddressInformation() {
20 public SystemMulticastIPAddressInformation(SystemIPAddressInformation addressInfo) {
21 innerInfo = addressInfo;
24 /// <include file='doc\NetworkInterface.uex' path='docs/doc[@for="IPAddressInformation.Address"]/*' />
25 public override IPAddress Address{get {return innerInfo.Address;}}
27 /// <include file='doc\NetworkInterface.uex' path='docs/doc[@for="IPAddressInformation.Transient"]/*' />
28 /// <summary>The address is a cluster address and shouldn't be used by most applications.</summary>
29 public override bool IsTransient{
31 return (innerInfo.IsTransient);
35 /// <include file='doc\NetworkInterface.uex' path='docs/doc[@for="IPAddressInformation.DnsEligible"]/*' />
36 /// <summary>This address can be used for DNS.</summary>
37 public override bool IsDnsEligible{
39 return (innerInfo.IsDnsEligible);
44 /// <include file='doc\NetworkInterface.uex' path='docs/doc[@for="IPMulticastAddressInformation.PrefixOrigin"]/*' />
45 public override PrefixOrigin PrefixOrigin{
47 return PrefixOrigin.Other;
51 /// <include file='doc\NetworkInterface.uex' path='docs/doc[@for="IPMulticastAddressInformation.SuffixOrigin"]/*' />
52 public override SuffixOrigin SuffixOrigin{
54 return SuffixOrigin.Other;
57 /// <include file='doc\NetworkInterface.uex' path='docs/doc[@for="IPMulticastAddressInformation.DuplicateAddressDetectionState"]/*' />
58 /// <summary>IPv6 only. Specifies the duplicate address detection state. Only supported
59 /// for IPv6. If called on an IPv4 address, will throw a "not supported" exception.</summary>
60 public override DuplicateAddressDetectionState DuplicateAddressDetectionState{
62 return DuplicateAddressDetectionState.Invalid;
67 /// <include file='doc\NetworkInterface.uex' path='docs/doc[@for="IPMulticastAddressInformation.ValidLifetime"]/*' />
68 /// <summary>Specifies the valid lifetime of the address in seconds.</summary>
69 public override long AddressValidLifetime{
74 /// <include file='doc\NetworkInterface.uex' path='docs/doc[@for="IPMulticastAddressInformation.PreferredLifetime"]/*' />
75 /// <summary>Specifies the prefered lifetime of the address in seconds.</summary>
77 public override long AddressPreferredLifetime{
82 /// <include file='doc\NetworkInterface.uex' path='docs/doc[@for="IPMulticastAddressInformation.PreferredLifetime"]/*' />
84 /// <include file='doc\NetworkInterface.uex' path='docs/doc[@for="IPMulticastAddressInformation.DhcpLeaseLifetime"]/*' />
85 /// <summary>Specifies the prefered lifetime of the address in seconds.</summary>
86 public override long DhcpLeaseLifetime{
93 internal static MulticastIPAddressInformationCollection ToMulticastIpAddressInformationCollection(IPAddressInformationCollection addresses) {
94 MulticastIPAddressInformationCollection multicastList = new MulticastIPAddressInformationCollection();
95 foreach (IPAddressInformation addressInfo in addresses) {
96 multicastList.InternalAdd(new SystemMulticastIPAddressInformation((SystemIPAddressInformation)addressInfo));