internal static extern bool DuplicateTokenEx(
     /* _In_     HANDLE                       */ [In] SafeTokenHandle existingToken,
     /* _In_     DWORD                        */ [In] TokenAccessRight desiredAccess,
     /* _In_opt_ LPSECURITY_ATTRIBUTES        */ [In][Out] ref SecurityAttributes threadAttributes,
     /* _In_     SECURITY_IMPERSONATION_LEVEL */ [In] SecurityImpersonationLevel impersonationLevel,
     /* _In_     TOKEN_TYPE                   */ [In] TokenType tokenType,
     /* _Outptr_ PHANDLE                      */ [Out] out SafeTokenHandle newToken
     );
 internal static extern bool OpenProcessToken(
     /* _In_  HANDLE  */ [In] SafeProcessHandle processHandle,
     /* _In_  DWORD   */ [In] TokenAccessRight desiredAccess,
     /* _Out_ PHANDLE */ [Out] out SafeTokenHandle tokenHandle
     );