-
I'm trying to use the following Windows 2000 API call. It returns an error (retval = 0) when I pass it any EXTENDED_NAME_FORMAT besides NameSamCompatible. Why is that? Is there some security API call I'd have to call first? The MSDN documentation looks like they all should work.
Thanks,
Josh
Code:
Private Enum EXTENDED_NAME_FORMAT
NameUnknown = 0 '???
NameFullyQualifiedDN = 1 'Full Active Directory style name?
NameSamCompatible = 2 'NT 4 style DOMAIN\user
NameDisplay = 3 'Friendly Name?
NameUniqueId = 6
NameCanonical = 7
NameUserPrincipal = 8
NameCanonicalEx = 9
NameServicePrincipal = 10
End Enum
Private Declare Function GetUserNameEx Lib "secur32.dll" Alias "GetUserNameExA" _
(ByVal NameFormat As EXTENDED_NAME_FORMAT, ByVal lpbuffer As String, nsize As Long) _
As Long
Private Sub Command2_Click()
Dim username As String 'string buffer that gets User's Name
Dim slength As Long 'length of the string buffer
Dim retval As Long 'return value, 0 if error
username = Space(255)
slength = 255
retval = GetUserNameEx(NameSamCompatible, username, slength)
username = Left(username, slength - 1)
Text2.Text = username
End Sub
-
Anyone at least try this on Windows 2000 and see if they get the same results I did? I'm suspecting something to do with Active Directory...
-
It worked fine for me
retval = 1
text2.text= what it should be
I'm using windows 2k with service pack 1
Krushstone
-
Did you try anything besides NameSamCompatible here?
Code:
retval = GetUserNameEx(NameSamCompatible, username, slength)
Nothing else seems to work.