Declare Auto Function DuplicateTokenEx Lib "advapi32.dll" ( _
ByVal ExistingTokenHandle As IntPtr, _
ByVal dwDesiredAccess As UInt32, _
ByRef lpThreadAttributes As SECURITY_ATTRIBUTES, _
ByVal ImpersonationLevel As Integer, _
ByVal TokenType As Integer, _
ByRef DuplicateTokenHandle As System.IntPtr) As Boolean
Since you can't use UInt32 constants in VB.NET, here is one way of passing in a value for dwDesiredAccess
Const GRANTED_ALL As String = "10000000"
ret = DuplicateTokenEx(Token, UInt32.Parse(GRANTED_ALL, System.Globalization.NumberStyles.HexNumber), sa, SecurityImpersonation, TokenType, DupedToken)
Sample Code:
Please add some!
The DuplicateTokenEx function creates a new access token that duplicates an existing token. This function can create either a primary token or an impersonation token.
4/5/2012 1:49:37 PM - Carl Mailloux-209.226.94.110
The [SECURITY_ATTRIBUTES] structure contains the security descriptor for an object and specifies whether the handle retrieved by specifying this structure is inheritable. This structure provides security settings for objects created by various functions, such as Kernel32.CreateFile, Kernel32.CreatePipe, Kernel32.CreateProcess, or Advapi32.RegCreateKeyEx.
7/15/2010 5:39:54 AM - -67.168.202.202
The TOKEN_TYPE enumeration type contains values that differentiate between a primary token and an impersonation token.
6/8/2007 1:40:27 PM - -80.179.11.91
TODO - a short description of this collection of constants