The last param in LogonUser (phToken) can be declared as Integer to work with the following VB.Net sample. The key is making sure it is ByRef vs ByVal.
Sample Code:
Public Sub Logon(ByVal strUser As String, ByVal strPassword As String, ByVal strDomain As String)
Dim lngLogonType, lngLogonProvider, lngTokenHandle As Integer
Dim blnResult As Boolean
blnResult = LogonUser(strUser, strDomain, strPassword, _
lngLogonType, lngLogonProvider, _
lngTokenHandle)
If blnResult Then
blnResult = ImpersonateLoggedOnUser(lngTokenHandle)
CloseHandle(lngTokenHandle)
Else
MsgBox("Error logging on")
End If
End Sub
The LogonUserEx function attempts to log a user on to the local computer. The local computer is the computer from which LogonUserEx was called. You cannot use LogonUserEx to log on to a remote computer. You specify the user with a user name and domain, and authenticate the user with a plaintext password. If the function succeeds, you receive a handle to a token that represents the logged-on user. You can then use this token handle to impersonate the specified user or, in most cases, to create a process that runs in the context of the specified user.
11/24/2010 12:30:59 PM - -95.223.169.177
ByRef is a VB keyword that specifies a variable to be passed as a parameter BY REFERENCE. In other words, the pointer to the variable is passed and any change to its value made within the function or sub will change its value outside the function/sub.
4/25/2007 3:19:29 AM - anonymous
ByVal is a VB keyword that specifies a variable to be passed as a parameter BY VALUE. In other words, if the function or sub changes the value of the internal variable, it does not change the value of the external variable that was passed to it.
4/25/2007 3:19:55 AM - josep1er@cmich.edu-141.209.229.179