PhysicalAddress Class

 

Provides the Media Access Control (MAC) address for a network interface (adapter).

Namespace:   System.Net.NetworkInformation
Assembly:  System (in System.dll)

System::Object
  System.Net.NetworkInformation::PhysicalAddress

public ref class PhysicalAddress 

NameDescription
System_CAPS_pubmethodPhysicalAddress(array<Byte>^)

Initializes a new instance of the PhysicalAddress class.

NameDescription
System_CAPS_pubmethodEquals(Object^)

Compares two PhysicalAddress instances.(Overrides Object::Equals(Object^).)

System_CAPS_protmethodFinalize()

Allows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection.(Inherited from Object.)

System_CAPS_pubmethodGetAddressBytes()

Returns the address of the current instance.

System_CAPS_pubmethodGetHashCode()

Returns the hash value of a physical address.(Overrides Object::GetHashCode().)

System_CAPS_pubmethodGetType()

Gets the Type of the current instance.(Inherited from Object.)

System_CAPS_protmethodMemberwiseClone()

Creates a shallow copy of the current Object.(Inherited from Object.)

System_CAPS_pubmethodSystem_CAPS_staticParse(String^)

Parses the specified String and stores its contents as the address bytes of the PhysicalAddress returned by this method.

System_CAPS_pubmethodToString()

Returns the String representation of the address of this instance.(Overrides Object::ToString().)

NameDescription
System_CAPS_pubfieldSystem_CAPS_staticNone

Returns a new PhysicalAddress instance with a zero length address. This field is read-only.

The MAC address, or physical address, is a hardware address that uniquely identifies each node, such as a computer or printer, on a network.

Instances of this class are returned by the NetworkInterface::GetPhysicalAddress method.

The following code example displays the physical addresses of all interfaces on the local computer.

void ShowNetworkInterfaces()
{
   IPGlobalProperties^ computerProperties = IPGlobalProperties::GetIPGlobalProperties();
   array<NetworkInterface^>^nics = NetworkInterface::GetAllNetworkInterfaces();
   Console::WriteLine( L"Interface information for {0}.{1}     ", computerProperties->HostName, computerProperties->DomainName );
   if ( nics == nullptr || nics->Length < 1 )
   {
      Console::WriteLine( L"  No network interfaces found." );
      return;
   }

   Console::WriteLine( L"  Number of interfaces .................... : {0}", (nics->Length).ToString() );
   IEnumerator^ myEnum1 = nics->GetEnumerator();
   while ( myEnum1->MoveNext() )
   {
      NetworkInterface^ adapter = safe_cast<NetworkInterface^>(myEnum1->Current);
      IPInterfaceProperties^ properties = adapter->GetIPProperties();
      Console::WriteLine();
      Console::WriteLine( adapter->Description );
      Console::WriteLine( String::Empty->PadLeft( adapter->Description->Length, '=' ) );
      Console::WriteLine( L"  Interface type .......................... : {0}", adapter->NetworkInterfaceType );
      Console::Write( L"  Physical address ........................ : " );
      PhysicalAddress^ address = adapter->GetPhysicalAddress();
      array<Byte>^bytes = address->GetAddressBytes();
      for ( int i = 0; i < bytes->Length; i++ )
      {

         // Display the physical address in hexadecimal.
         Console::Write( L"{0}", bytes[ i ].ToString( L"X2" ) );

         // Insert a hyphen after each byte, unless we are at the end of the 
         // address.
         if ( i != bytes->Length - 1 )
         {
            Console::Write( L"-" );
         }

      }
      Console::WriteLine();
   }
}


.NET Framework
Available since 2.0

Any public static ( Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.

Return to top
Show: