LogonUserEx (advapi32)
Last changed: Andreas Andreou-213.207.151.22

.
Summary
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.

C# Signature:

[DllImport("advapi32.dll", SetLastError=true)]

public static extern bool LogonUserEx(

  string lpszUsername,
  string lpszDomain,
  string lpszPassword,
  int dwLogonType,
  int dwLogonProvider,
  out IntPtr phToken,
  IntPtr ppLogonSid, // nullable
  IntPtr ppProfileBuffer, // nullable
  IntPtr pdwProfileLength, // nullable
  IntPtr pQuotaLimits // nullable

);

VB Signature:

Declare Function LogonUserEx Lib "advapi32.dll" (TODO) As TODO

User-Defined Types:

None.

Alternative Managed API:

Do you know one? Please contribute it!

Notes:

This is new in Server2003 and XP.

Tips & Tricks:

Please add some!

Sample Code:

Please add some!

Documentation
LogonUserEx on MSDN