Peter,
Try the following code. You must have a copy of the POINTERS class which can be found here in the UT.
lcUserName = ALLTRIM(SUBSTR(SYS(0),AT("#",SYS(0))+2))
*-- Will return the values you need in a public array called aUserInfo
? NetUserGetInfo( lcUserName, "aUserInfo" )
display memory like aUserInfo*
**************************
FUNCTION NetUserGetInfo( tcUserName, tcArrayName )
**************************
DECLARE INTEGER NetUserGetInfo;
IN NETAPI32 AS NetUserGetInfo_A ;
STRING @ServerName,;
STRING @UserName,;
INTEGER UserInfoStructureType,;
INTEGER @PointerToUserInfoStructure
LOCAL loPointersObject, lnError, lnpInfo, lcFlags, lnFlags
*-- Convert strings to Unicode.
lcServer = ""
lcServer = STRCONV(STRCONV(lcServer + CHR(0), 1), 5)
lcUserName = STRCONV(STRCONV(tcUserName + CHR(0), 1), 5)
*-- Create the Pointers Class object
SET CLASSLIB TO POINTERS ADDITIVE
loPointersObject = CREATEOBJECT("Pointers")
RELEASE CLASSLIB POINTERS
lnpInfo = 0
lnError = NetUserGetInfo_A(@lcServer, @lcUserName, 20, @lnpInfo)
IF lnError > 0
WAIT WINDOW "ERROR #" + LTRIM(STR(lnError)) + " encountered."
RETURN .F.
ENDIF
*-- Release the array if it already exists
RELEASE &tcArrayName.
PUBLIC &tcArrayName
DIMENSION &tcArrayName[ 1, 5 ]
*-- UserName
&tcArrayName[ 1, 1] = loPointersObject.GetMemory( loPointersObject.Converter.DWORDStringToNumber( ;
loPointersObject.GetMemory(lnpInfo, 4)), "U")
*-- Full Name
&tcArrayName[ 1, 2] = loPointersObject.GetMemory( loPointersObject.Converter.DWORDStringToNumber( ;
loPointersObject.GetMemory(lnpInfo + 4, 4)), "U")
*-- Comment
&tcArrayName[ 1, 3] = loPointersObject.GetMemory( loPointersObject.Converter.DWORDStringToNumber( ;
loPointersObject.GetMemory(lnpInfo + 8, 4)), "U")
*-- Flags
&tcArrayName[ 1, 4] = loPointersObject.GetMemory( loPointersObject.Converter.DWORDStringToNumber( ;
loPointersObject.GetMemory(lnpInfo + 12, 4)), "U")
*-- User Id
&tcArrayName[ 1, 5] = loPointersObject.GetMemory( loPointersObject.Converter.DWORDStringToNumber( ;
loPointersObject.GetMemory(lnpInfo + 16, 4)), "A")
RETURN( .T. )