Search
Module:
Directory

   Desktop Functions:

   Smart Device Functions:


Show Recent Changes
Subscribe (RSS)
Misc. Pages
Comments
FAQ
Helpful Tools
Playground
Suggested Reading
Website TODO List
Download Visual Studio Add-In

NtCreateUserProcess (ntdll)
 
.
Summary
TODO - a short description

C# Signature:

[DllImport("ntdll.dll", SetLastError=true)]
static extern UInt32 NtCreateUserProcess(ref IntPtr ProcessHandle, ref IntPtr ThreadHandle, AccessMask ProcessDesiredAccess, AccessMask ThreadDesiredAccess, IntPtr ProcessObjectAttributes, IntPtr ThreadObjectAttributes, UInt32 ProcessFlags, UInt32 ThreadFlags, IntPtr ProcessParameters, ref PS_CREATE_INFO CreateInfo, ref PS_ATTRIBUTE_LIST AttributeList);

Boo Signature:

[DllImport("ntdll.dll", SetLastError : true)]
def NtCreateUserProcess(
     ref ProcessHandle as IntPtr,
     ref ThreadHandle as IntPtr,
     ProcessDesiredAccess as AccessMask,
     ThreadDesiredAccess as AccessMask,
     ProcessObjectAttributes as IntPtr,
     ThreadObjectAttributes as IntPtr,
     ProcessFlags as UInt32,
     ThreadFlags as UInt32,
     ProcessParameters as IntPtr,
     ref CreateInfo as PS_CREATE_INFO,
     ref AttributeList as PS_ATTRIBUTE_LIST) as UInt32:
     pass

User-Defined Types:

// https://www.geoffchappell.com/studies/windows/km/ntoskrnl/api/ps/psexec/create_info.htm
// simplified version
struct PS_CREATE_INFO:
     Size as UIntPtr
     State as PS_CREATE_STATE
     InitFlags as UInt32
     AdditionalFileAccess as UInt32

struct PS_ATTRIBUTE:
     Attribute as UInt64
     Size as UIntPtr
     Value as IntPtr
     ReturnLength as IntPtr

// you might need more or less elements than 3
struct PS_ATTRIBUTE_LIST:
     TotalLength as UIntPtr
     [MarshalAs(UnmanagedType.ByValArray, SizeConst : 3)]
     Attributes as (PS_ATTRIBUTE)

Alternative Managed API:

Do you know one? Please contribute it!

Notes:

None.

Tips & Tricks:

Please add some!

Sample Code:

Please add some!

Documentation

Please edit this page!

Do you have...

  • helpful tips or sample code to share for using this API in managed code?
  • corrections to the existing content?
  • variations of the signature you want to share?
  • additional languages you want to include?

Select "Edit This Page" on the right hand toolbar and edit it! Or add new pages containing supporting types needed for this API (structures, delegates, and more).

 
Access PInvoke.net directly from VS:
Terms of Use
Edit This Page
Find References
Show Printable Version
Revisions