Level Extreme platform
Subscription
Corporate profile
Products & Services
Support
Legal
Français
Can't get GetLastError() to return a value?!
Message
General information
Forum:
Visual FoxPro
Category:
Windows API functions
Title:
Can't get GetLastError() to return a value?!
Environment versions
Visual FoxPro:
VFP 8 SP1
OS:
Windows XP SP2
Network:
Windows 2003 Server
Database:
Visual FoxPro
Miscellaneous
Thread ID:
01101255
Message ID:
01101255
Views:
65
I'm trying to use GetLastError API call to figure out why a call to LogonUser may have failed. However, no matter what I do, GetLastError always returns 0. LogonUser will return 1 when I enter a valid username/password. If I enter the same username with a bogus password, LogonUser returns a 0 indicating there was a problem but GetLastError() still returns a 0.

I've included my code below. Does anyone know what I might be doing wrong?
DECLARE integer GetLastError IN kernel32
DECLARE integer CloseHandle IN kernel32 integer hObject
DECLARE integer LogonUser IN advapi32 string lpzUser, string lpzDomain,;
  string lpzPass, integer dwLogonType, integer dwLogonProvider,;
  integer @phToken


nToken = 0

IF LogonUser("user_name","domain.com",INPUTBOX("Password:"),3,0,@nToken) = 0
   = MESSAGEBOX("Error: " + TRANSFORM(GetLastError(),"99999999"))
ELSE
   = CloseHandle(nToken)
ENDIF

RELEASE ALL
Thanks for your input!
Next
Reply
Map
View

Click here to load this message in the networking platform