[StructLayout(LayoutKind.Sequential, CharSet = CharSet.Unicode)]
public struct STARTUPINFOEX
{
public STARTUPINFO StartupInfo;
public IntPtr lpAttributeList;
}
<StructLayout(LayoutKind.Sequential, CharSet:=CharSet.Unicode)>
Public Structure STARTUPINFOEX
Public StartupInfo As STARTUPINFO
Public lpAttributeList As IntPtr
End Structure
None.
See CreateProcess and InitializeProcThreadAttributeList,UpdateProcThreadAttribute
Do not forget to set the size of your object after filling in the attributes, before calling CreateProcess
startupInfoEx.StartupInfo.cb = Marshal.SizeOf(startupInfoEx);