For more detailed information:
import ctypes
 
def get_data(EXTENDED_NAME_FORMAT: int):
    GetUserNameEx = ctypes.windll.secur32.GetUserNameExW
    data = EXTENDED_NAME_FORMAT
 
    size = ctypes.pointer(ctypes.c_ulong(0))
    GetUserNameEx(data, None, size)
 
    nameBuffer = ctypes.create_unicode_buffer(size.contents.value)
    GetUserNameEx(data, nameBuffer, size)
    return nameBuffer.value
print("NameUnknown            : ", get_data(0))
print("NameFullyQualifiedDN   : ", get_data(1))
print("NameSamCompatible      : ", get_data(2))
print("NameDisplay            : ", get_data(3))
print("NameUniqueId           : ", get_data(6))
print("NameCanonical          : ", get_data(7))
print("NameUserPrincipal      : ", get_data(8))
print("NameCanonicalEx        : ", get_data(9))
print("NameServicePrincipal   : ", get_data(10))
print("NameDnsDomain          : ", get_data(12))
example output:
NameUnknown            :  
NameFullyQualifiedDN   :  CN=Tomasevic Milovan (TomasevicM),OU=Engineering,DC=Microsoft,DC=Com
NameSamCompatible      :  Microsoft\TomasevicM
NameDisplay            :  Tomašević Milovan
NameUniqueId           :  {4fa050f0-f561-11cf-bdd9-00aa003a77b6}
NameCanonical          :  Microsoft.Com/Engineering/Tomasevic Milovan (TomasevicM)
NameUserPrincipal      :  TomasevicM@Microsoft.Com
NameCanonicalEx        :  Microsoft.Com/Engineering Tomasevic Milovan (TomasevicM)
NameServicePrincipal   :
NameDnsDomain          :  Microsoft.Com\TomasevicM
Constants
NameUnknown: An unknown name type. 
NameFullyQualifiedDN: The fully qualified distinguished name (for example, CN=Jeff Smith,OU=Users,DC=Engineering,DC=Microsoft,DC=Com). 
NameSamCompatible: A legacy account name (for example, Engineering\JSmith). The domain-only version includes trailing backslashes (). 
NameDisplay: A "friendly" display name (for example, Jeff Smith). The display name is not necessarily the defining relative distinguished name (RDN). 
NameUniqueId: A GUID string that the IIDFromString function returns (for example, {4fa050f0-f561-11cf-bdd9-00aa003a77b6}). 
NameCanonical: The complete canonical name (for example, engineering.microsoft.com/software/someone). The domain-only version includes a trailing forward slash (/). 
NameUserPrincipal: The user principal name (for example, someone@example.com). 
NameCanonicalEx: The same as NameCanonical except that the rightmost forward slash (/) is replaced with a new line character (\n), even in a domain-only case (for example, engineering.microsoft.com/software\nJSmith). 
NameServicePrincipal: The generalized service principal name (for example, www/www.microsoft.com@microsoft.com). 
NameDnsDomain: The DNS domain name followed by a backward-slash and the SAM user name. 
Requirements
- Minimum supported client: Windows 2000 Professional [desktop apps only]
 
- Minimum supported server: Windows 2000 Server [desktop apps only]
 
- Header: secext.h (include Security.h)