getcomputernameex (kernel32)
Last changed: -183.63.127.82

.
Summary
Retrieves a NetBIOS or DNS name associated with the local computer.

C# Signature:

[DllImport("kernel32.dll", SetLastError=true, CharSet=CharSet.Auto)]
static extern bool GetComputerNameEx(COMPUTER_NAME_FORMAT NameType,
   StringBuilder lpBuffer, ref uint lpnSize);

VB.Net Signature:

<DllImport("kernel32.dll", CharSet:=CharSet.Auto, SetLastError:=True)> _
Private Shared Function GetComputerNameEx(ByVal NameType As COMPUTER_NAME_FORMAT, ByVal lpBuffer As StringBuilder, ByRef lpnSize As UInt32) As Boolean
End Function

User-Defined Types:

COMPUTER_NAME_FORMAT

Notes:

None.

Tips & Tricks:

Please add some!

Sample Code:

Please add some!

C# Sample:

    class Class1
    {
    enum COMPUTER_NAME_FORMAT
    {
        ComputerNameNetBIOS,
        ComputerNameDnsHostname,
        ComputerNameDnsDomain,
        ComputerNameDnsFullyQualified,
        ComputerNamePhysicalNetBIOS,
        ComputerNamePhysicalDnsHostname,
        ComputerNamePhysicalDnsDomain,
        ComputerNamePhysicalDnsFullyQualified
    }

    [DllImport("kernel32.dll", SetLastError=true, CharSet=CharSet.Auto)]
    static extern bool GetComputerNameEx(COMPUTER_NAME_FORMAT NameType,
        StringBuilder lpBuffer, ref uint lpnSize);

    [STAThread]
    static void Main(string[] args)
    {
        bool success;
        StringBuilder name = new StringBuilder(260);
        uint size = 260;
        success = GetComputerNameEx(COMPUTER_NAME_FORMAT.ComputerNameDnsDomain, name, ref size);
        Console.WriteLine(name.ToString());
    }
     }

Alternative Managed API:

Do you know one? Please contribute it!

Documentation