<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://blogs.technet.com/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>Digging in : When a new process is created</title><link>http://blogs.technet.com/ganand/archive/tags/When+a+new+process+is+created/default.aspx</link><description>Tags: When a new process is created</description><dc:language>en-US</dc:language><generator>CommunityServer 2.1 SP1 (Build: 61025.2)</generator><item><title>What happens and parameters passed when a new process is created</title><link>http://blogs.technet.com/ganand/archive/2008/02/15/what-happens-and-parameters-passed-when-a-new-process-is-created.aspx</link><pubDate>Fri, 15 Feb 2008 17:56:00 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:2895363</guid><dc:creator>ganand</dc:creator><slash:comments>1</slash:comments><comments>http://blogs.technet.com/ganand/comments/2895363.aspx</comments><wfw:commentRss>http://blogs.technet.com/ganand/commentrss.aspx?PostID=2895363</wfw:commentRss><description>&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="COLOR: #1f497d; mso-themecolor: dark2; mso-bidi-font-family: 'Times New Roman'; mso-bidi-theme-font: minor-bidi; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-hansi-theme-font: minor-latin"&gt;&lt;?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /&gt;&lt;o:p&gt;&lt;FONT face=Calibri size=3&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 8.5pt; COLOR: black; FONT-FAMILY: 'Verdana','sans-serif'"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 8.5pt; COLOR: black; FONT-FAMILY: 'Verdana','sans-serif'"&gt;Via this blog I have just tried to show What exactly happens when a new process is created and what all structures are required and parameters&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 8.5pt; COLOR: black; FONT-FAMILY: 'Verdana','sans-serif'"&gt;passed to that process.&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 8.5pt; COLOR: black; FONT-FAMILY: 'Verdana','sans-serif'"&gt;&lt;/SPAN&gt;&amp;nbsp;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 8.5pt; COLOR: black; FONT-FAMILY: 'Verdana','sans-serif'"&gt;What ever mentioned below is all extracted from different places of windows SDK and I have tried to forward a easy picture for understanding&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 8.5pt; COLOR: black; FONT-FAMILY: 'Verdana','sans-serif'"&gt;purpose. &lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 8.5pt; COLOR: black; FONT-FAMILY: 'Verdana','sans-serif'"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 8.5pt; COLOR: black; FONT-FAMILY: 'Verdana','sans-serif'"&gt;The &lt;B&gt;CreateProcessAsUser&lt;/B&gt; function creates a new process and its primary thread. The new process then runs the specified executable file.&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 8.5pt; COLOR: #1f497d; FONT-FAMILY: 'Verdana','sans-serif'; mso-themecolor: dark2"&gt; &lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 8.5pt; COLOR: black; FONT-FAMILY: 'Verdana','sans-serif'"&gt;There are other functions also for creating process like &lt;B style="mso-bidi-font-weight: normal"&gt;CreateProcess&lt;/B&gt; and &lt;B style="mso-bidi-font-weight: normal"&gt;CreateprocessWithLogonW&lt;/B&gt; but I have chosen&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 8.5pt; COLOR: black; FONT-FAMILY: 'Verdana','sans-serif'"&gt;&lt;B&gt;CreateProcessAsUser&lt;/B&gt; one to explain.&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 8.5pt; COLOR: black; FONT-FAMILY: 'Verdana','sans-serif'"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;PRE&gt;&lt;FONT style="BACKGROUND-COLOR: #dddddd"&gt;&lt;FONT face="Courier New"&gt;&lt;B&gt;&lt;SPAN style="FONT-SIZE: 8.5pt"&gt;BOOL&lt;/SPAN&gt;&lt;/B&gt;&lt;SPAN style="FONT-SIZE: 8.5pt"&gt; &lt;B&gt;CreateProcessAsUser(&lt;/B&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/PRE&gt;&lt;PRE&gt;&lt;FONT style="BACKGROUND-COLOR: #dddddd"&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="FONT-SIZE: 8.5pt"&gt;&amp;nbsp; &lt;B&gt;HANDLE&lt;/B&gt; &lt;/SPAN&gt;&lt;SPAN class=MsoHyperlink&gt;&lt;I&gt;&lt;SPAN style="FONT-SIZE: 8.5pt; COLOR: #0040ff; TEXT-DECORATION: none; text-underline: none"&gt;&lt;U&gt;hToken&lt;/U&gt;&lt;/SPAN&gt;&lt;/I&gt;&lt;/SPAN&gt;&lt;B&gt;&lt;SPAN style="FONT-SIZE: 8.5pt"&gt;,&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/B&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/PRE&gt;&lt;PRE&gt;&lt;FONT style="BACKGROUND-COLOR: #dddddd"&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="FONT-SIZE: 8.5pt"&gt;&amp;nbsp; &lt;B&gt;LPCTSTR&lt;/B&gt; &lt;/SPAN&gt;&lt;SPAN class=MsoHyperlink&gt;&lt;I&gt;&lt;SPAN style="FONT-SIZE: 8.5pt; COLOR: #0040ff; TEXT-DECORATION: none; text-underline: none"&gt;&lt;U&gt;lpApplicationName&lt;/U&gt;&lt;/SPAN&gt;&lt;/I&gt;&lt;/SPAN&gt;&lt;B&gt;&lt;SPAN style="FONT-SIZE: 8.5pt"&gt;,&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/B&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/PRE&gt;&lt;PRE&gt;&lt;FONT style="BACKGROUND-COLOR: #dddddd"&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="FONT-SIZE: 8.5pt"&gt;&amp;nbsp; &lt;B&gt;LPTSTR&lt;/B&gt; &lt;/SPAN&gt;&lt;SPAN class=MsoHyperlink&gt;&lt;I&gt;&lt;SPAN style="FONT-SIZE: 8.5pt; COLOR: #0040ff; TEXT-DECORATION: none; text-underline: none"&gt;&lt;U&gt;lpCommandLine&lt;/U&gt;&lt;/SPAN&gt;&lt;/I&gt;&lt;/SPAN&gt;&lt;B&gt;&lt;SPAN style="FONT-SIZE: 8.5pt"&gt;,&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/B&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/PRE&gt;&lt;PRE&gt;&lt;FONT style="BACKGROUND-COLOR: #dddddd"&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="FONT-SIZE: 8.5pt"&gt;&amp;nbsp; &lt;B&gt;LPSECURITY_ATTRIBUTES&lt;/B&gt; &lt;/SPAN&gt;&lt;SPAN class=MsoHyperlink&gt;&lt;I&gt;&lt;SPAN style="FONT-SIZE: 8.5pt; COLOR: #0040ff; TEXT-DECORATION: none; text-underline: none"&gt;&lt;U&gt;lpProcessAttributes&lt;/U&gt;&lt;/SPAN&gt;&lt;/I&gt;&lt;/SPAN&gt;&lt;B&gt;&lt;SPAN style="FONT-SIZE: 8.5pt"&gt;,&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/B&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/PRE&gt;&lt;PRE&gt;&lt;FONT style="BACKGROUND-COLOR: #dddddd"&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="FONT-SIZE: 8.5pt"&gt;&amp;nbsp; &lt;B&gt;LPSECURITY_ATTRIBUTES&lt;/B&gt; &lt;/SPAN&gt;&lt;SPAN class=MsoHyperlink&gt;&lt;I&gt;&lt;SPAN style="FONT-SIZE: 8.5pt; COLOR: #0040ff; TEXT-DECORATION: none; text-underline: none"&gt;&lt;U&gt;lpThreadAttributes&lt;/U&gt;&lt;/SPAN&gt;&lt;/I&gt;&lt;/SPAN&gt;&lt;B&gt;&lt;SPAN style="FONT-SIZE: 8.5pt"&gt;,&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/B&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/PRE&gt;&lt;PRE&gt;&lt;FONT style="BACKGROUND-COLOR: #dddddd"&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="FONT-SIZE: 8.5pt"&gt;&amp;nbsp; &lt;B&gt;BOOL&lt;/B&gt; &lt;/SPAN&gt;&lt;SPAN class=MsoHyperlink&gt;&lt;I&gt;&lt;SPAN style="FONT-SIZE: 8.5pt; COLOR: #0040ff; TEXT-DECORATION: none; text-underline: none"&gt;&lt;U&gt;bInheritHandles&lt;/U&gt;&lt;/SPAN&gt;&lt;/I&gt;&lt;/SPAN&gt;&lt;B&gt;&lt;SPAN style="FONT-SIZE: 8.5pt"&gt;,&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/B&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/PRE&gt;&lt;PRE&gt;&lt;FONT style="BACKGROUND-COLOR: #dddddd"&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="FONT-SIZE: 8.5pt"&gt;&amp;nbsp; &lt;B&gt;DWORD&lt;/B&gt; &lt;/SPAN&gt;&lt;SPAN class=MsoHyperlink&gt;&lt;I&gt;&lt;SPAN style="FONT-SIZE: 8.5pt; COLOR: #0040ff; TEXT-DECORATION: none; text-underline: none"&gt;&lt;U&gt;dwCreationFlags&lt;/U&gt;&lt;/SPAN&gt;&lt;/I&gt;&lt;/SPAN&gt;&lt;B&gt;&lt;SPAN style="FONT-SIZE: 8.5pt"&gt;,&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/B&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/PRE&gt;&lt;PRE&gt;&lt;FONT style="BACKGROUND-COLOR: #dddddd"&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="FONT-SIZE: 8.5pt"&gt;&amp;nbsp; &lt;B&gt;LPVOID&lt;/B&gt; &lt;/SPAN&gt;&lt;SPAN class=MsoHyperlink&gt;&lt;I&gt;&lt;SPAN style="FONT-SIZE: 8.5pt; COLOR: #0040ff; TEXT-DECORATION: none; text-underline: none"&gt;&lt;U&gt;lpEnvironment&lt;/U&gt;&lt;/SPAN&gt;&lt;/I&gt;&lt;/SPAN&gt;&lt;B&gt;&lt;SPAN style="FONT-SIZE: 8.5pt"&gt;,&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/B&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/PRE&gt;&lt;PRE&gt;&lt;FONT style="BACKGROUND-COLOR: #dddddd"&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="FONT-SIZE: 8.5pt"&gt;&amp;nbsp; &lt;B&gt;LPCTSTR&lt;/B&gt; &lt;/SPAN&gt;&lt;SPAN class=MsoHyperlink&gt;&lt;I&gt;&lt;SPAN style="FONT-SIZE: 8.5pt; COLOR: #0040ff; TEXT-DECORATION: none; text-underline: none"&gt;&lt;U&gt;lpCurrentDirectory&lt;/U&gt;&lt;/SPAN&gt;&lt;/I&gt;&lt;/SPAN&gt;&lt;B&gt;&lt;SPAN style="FONT-SIZE: 8.5pt"&gt;,&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/B&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/PRE&gt;&lt;PRE&gt;&lt;FONT style="BACKGROUND-COLOR: #dddddd"&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="FONT-SIZE: 8.5pt"&gt;&amp;nbsp; &lt;B&gt;LPSTARTUPINFO&lt;/B&gt; &lt;/SPAN&gt;&lt;SPAN class=MsoHyperlink&gt;&lt;I&gt;&lt;SPAN style="FONT-SIZE: 8.5pt; COLOR: #0040ff; TEXT-DECORATION: none; text-underline: none"&gt;&lt;U&gt;lpStartupInfo&lt;/U&gt;&lt;/SPAN&gt;&lt;/I&gt;&lt;/SPAN&gt;&lt;B&gt;&lt;SPAN style="FONT-SIZE: 8.5pt"&gt;,&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/B&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/PRE&gt;&lt;PRE&gt;&lt;FONT style="BACKGROUND-COLOR: #dddddd"&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="FONT-SIZE: 8.5pt"&gt;&amp;nbsp; &lt;B&gt;LPPROCESS_INFORMATION&lt;/B&gt; &lt;/SPAN&gt;&lt;U&gt;&lt;SPAN class=MsoHyperlink&gt;&lt;I&gt;&lt;SPAN style="FONT-SIZE: 8.5pt; COLOR: #0040ff; TEXT-DECORATION: none; text-underline: none"&gt;lpProcessInformation&lt;/SPAN&gt;&lt;/I&gt;&lt;/SPAN&gt;&lt;B&gt;&lt;SPAN style="FONT-SIZE: 8.5pt"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/B&gt;&lt;/U&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/PRE&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;B&gt;&lt;SPAN style="FONT-SIZE: 8.5pt"&gt;&lt;FONT face=Calibri&gt;);&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/B&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;B&gt;&lt;SPAN style="FONT-SIZE: 8.5pt"&gt;&lt;o:p&gt;&lt;FONT face=Calibri&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/B&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 8.5pt; COLOR: black; FONT-FAMILY: 'Verdana','sans-serif'"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 8.5pt; COLOR: black; FONT-FAMILY: 'Verdana','sans-serif'"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 8.5pt; COLOR: black; FONT-FAMILY: 'Verdana','sans-serif'"&gt;Now a little explained version in regards to all the parameters passed to the function &lt;B&gt;CreateProcessAsUser&lt;/B&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 8.5pt; COLOR: black; FONT-FAMILY: 'Verdana','sans-serif'"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 8.5pt; COLOR: black; FONT-FAMILY: 'Verdana','sans-serif'"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;PRE&gt;&lt;FONT style="BACKGROUND-COLOR: #dddddd"&gt;&lt;FONT face="Courier New"&gt;&lt;B&gt;&lt;SPAN style="FONT-SIZE: 8.5pt"&gt;BOOL&lt;/SPAN&gt;&lt;/B&gt;&lt;SPAN style="FONT-SIZE: 8.5pt"&gt; &lt;B&gt;CreateProcessAsUser(&lt;/B&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/PRE&gt;&lt;PRE&gt;&lt;FONT style="BACKGROUND-COLOR: #dddddd"&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="FONT-SIZE: 8.5pt"&gt;&amp;nbsp; &lt;B&gt;HANDLE&lt;/B&gt; &lt;/SPAN&gt;&lt;SPAN class=MsoHyperlink&gt;&lt;I&gt;&lt;SPAN style="FONT-SIZE: 8.5pt; COLOR: #0040ff; TEXT-DECORATION: none; text-underline: none"&gt;&lt;U&gt;hToken&lt;/U&gt;&lt;/SPAN&gt;&lt;/I&gt;&lt;/SPAN&gt;&lt;B&gt;&lt;SPAN style="FONT-SIZE: 8.5pt"&gt;,--------------&lt;/SPAN&gt;&lt;/B&gt;&lt;/FONT&gt;&lt;SPAN style="FONT-SIZE: 8.5pt; FONT-FAMILY: 'Verdana','sans-serif'"&gt; Handle to a primary token that represents a user.&lt;/SPAN&gt;&lt;B&gt;&lt;SPAN style="FONT-SIZE: 8.5pt"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/B&gt;&lt;/FONT&gt;&lt;/PRE&gt;&lt;PRE&gt;&lt;FONT style="BACKGROUND-COLOR: #dddddd"&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="FONT-SIZE: 8.5pt"&gt;&amp;nbsp; &lt;B&gt;LPCTSTR&lt;/B&gt; &lt;/SPAN&gt;&lt;SPAN class=MsoHyperlink&gt;&lt;I&gt;&lt;SPAN style="FONT-SIZE: 8.5pt; COLOR: #0040ff; TEXT-DECORATION: none; text-underline: none"&gt;&lt;U&gt;lpApplicationName&lt;/U&gt;&lt;/SPAN&gt;&lt;/I&gt;&lt;/SPAN&gt;&lt;B&gt;&lt;SPAN style="FONT-SIZE: 8.5pt"&gt;,------------&lt;/SPAN&gt;&lt;/B&gt;&lt;/FONT&gt;&lt;SPAN style="FONT-SIZE: 8.5pt; FONT-FAMILY: 'Verdana','sans-serif'"&gt; Pointer to a null-terminated string that specifies the module to execute.&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 8.5pt; COLOR: #1f497d; FONT-FAMILY: 'Verdana','sans-serif'; mso-themecolor: dark2"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/PRE&gt;&lt;PRE&gt;&lt;FONT style="BACKGROUND-COLOR: #dddddd"&gt;&lt;SPAN style="FONT-SIZE: 8.5pt; FONT-FAMILY: 'Verdana','sans-serif'"&gt; The specified module can be a Windows-based application.&lt;/SPAN&gt;&lt;B&gt;&lt;SPAN style="FONT-SIZE: 8.5pt"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/B&gt;&lt;/FONT&gt;&lt;/PRE&gt;&lt;PRE&gt;&lt;FONT style="BACKGROUND-COLOR: #dddddd"&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="FONT-SIZE: 8.5pt"&gt;&amp;nbsp; &lt;B&gt;LPTSTR&lt;/B&gt; &lt;/SPAN&gt;&lt;SPAN class=MsoHyperlink&gt;&lt;I&gt;&lt;SPAN style="FONT-SIZE: 8.5pt; COLOR: #0040ff; TEXT-DECORATION: none; text-underline: none"&gt;&lt;U&gt;lpCommandLine&lt;/U&gt;&lt;/SPAN&gt;&lt;/I&gt;&lt;/SPAN&gt;&lt;B&gt;&lt;SPAN style="FONT-SIZE: 8.5pt"&gt;, --------&lt;/SPAN&gt;&lt;/B&gt;&lt;/FONT&gt;&lt;SPAN style="FONT-SIZE: 8.5pt; FONT-FAMILY: 'Verdana','sans-serif'"&gt;Pointer to a null-terminated string that specifies the command line to execute.&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/PRE&gt;&lt;PRE&gt;&lt;FONT style="BACKGROUND-COLOR: #dddddd"&gt;&lt;SPAN style="FONT-SIZE: 8.5pt; FONT-FAMILY: 'Verdana','sans-serif'"&gt;If both &lt;I&gt;lpApplicationName&lt;/I&gt; and &lt;I&gt;lpCommandLine&lt;/I&gt; are non-NULL, *&lt;I&gt;lpApplicationName&lt;/I&gt; specifies the module to execute, &lt;/SPAN&gt;&lt;/FONT&gt;&lt;/PRE&gt;&lt;PRE&gt;&lt;FONT style="BACKGROUND-COLOR: #dddddd"&gt;&lt;SPAN style="FONT-SIZE: 8.5pt; FONT-FAMILY: 'Verdana','sans-serif'"&gt;and *&lt;I&gt;lpCommandLine&lt;/I&gt; specifies the command line.&lt;/SPAN&gt;&lt;B&gt;&lt;SPAN style="FONT-SIZE: 8.5pt"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/B&gt;&lt;/FONT&gt;&lt;/PRE&gt;&lt;PRE&gt;&lt;FONT face="Courier New"&gt;&lt;FONT style="BACKGROUND-COLOR: #dddddd"&gt;&lt;SPAN style="FONT-SIZE: 8.5pt"&gt;&amp;nbsp; &lt;B&gt;LPSECURITY_ATTRIBUTES&lt;/B&gt; &lt;/SPAN&gt;&lt;SPAN class=MsoHyperlink&gt;&lt;I&gt;&lt;SPAN style="FONT-SIZE: 8.5pt; COLOR: #0040ff; TEXT-DECORATION: none; text-underline: none"&gt;&lt;U&gt;lpProcessAttributes&lt;/U&gt;&lt;/SPAN&gt;&lt;/I&gt;&lt;/SPAN&gt;&lt;B&gt;&lt;SPAN style="FONT-SIZE: 8.5pt"&gt;,-------------&lt;/SPAN&gt;&lt;/B&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT style="BACKGROUND-COLOR: #dddddd"&gt;&lt;SPAN style="FONT-SIZE: 8.5pt; FONT-FAMILY: 'Verdana','sans-serif'"&gt; Pointer to a &lt;B&gt;SECURITY_ATTRIBUTES&lt;/B&gt; structure that specifies&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/PRE&gt;&lt;PRE&gt;&lt;FONT style="BACKGROUND-COLOR: #dddddd"&gt;&lt;SPAN style="FONT-SIZE: 8.5pt; FONT-FAMILY: 'Verdana','sans-serif'"&gt; a security descriptor &lt;/SPAN&gt;&lt;/FONT&gt;&lt;FONT style="BACKGROUND-COLOR: #dddddd"&gt;&lt;SPAN style="FONT-SIZE: 8.5pt; FONT-FAMILY: 'Verdana','sans-serif'"&gt;for the new process and determines whether child processes can inherit the returned handle. If &lt;I&gt;lpProcessAttributes&lt;/I&gt; &lt;/SPAN&gt;&lt;/FONT&gt;&lt;/PRE&gt;&lt;PRE&gt;&lt;FONT style="BACKGROUND-COLOR: #dddddd"&gt;&lt;SPAN style="FONT-SIZE: 8.5pt; FONT-FAMILY: 'Verdana','sans-serif'"&gt;is NULL or &lt;B&gt;lpSecurityDescriptor &lt;/B&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;FONT style="BACKGROUND-COLOR: #dddddd"&gt;&lt;SPAN style="FONT-SIZE: 8.5pt; FONT-FAMILY: 'Verdana','sans-serif'"&gt; is NULL, &lt;/SPAN&gt;&lt;/FONT&gt;&lt;FONT style="BACKGROUND-COLOR: #dddddd"&gt;&lt;SPAN style="FONT-SIZE: 8.5pt; FONT-FAMILY: 'Verdana','sans-serif'"&gt;the process gets a default security descriptor and the handle cannot be inherited. &lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 8.5pt; COLOR: #1f497d; FONT-FAMILY: 'Verdana','sans-serif'; mso-themecolor: dark2"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/PRE&gt;&lt;PRE&gt;&lt;SPAN style="FONT-SIZE: 8.5pt; FONT-FAMILY: 'Verdana','sans-serif'"&gt;&lt;FONT style="BACKGROUND-COLOR: #dddddd"&gt;The default security descriptor is that of the user referenced in the &lt;I&gt;hToken&lt;/I&gt; parameter. This security descriptor may not allow access for the caller, &lt;/FONT&gt;&lt;/SPAN&gt;&lt;/PRE&gt;&lt;PRE&gt;&lt;SPAN style="FONT-SIZE: 8.5pt; FONT-FAMILY: 'Verdana','sans-serif'"&gt;&lt;FONT style="BACKGROUND-COLOR: #dddddd"&gt;in which case the process may not be opened again after it is run. The process handle is valid and will continue to have full access rights.&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/PRE&gt;&lt;PRE&gt;&lt;SPAN style="FONT-SIZE: 8.5pt; FONT-FAMILY: 'Verdana','sans-serif'"&gt;&lt;o:p&gt;&lt;FONT style="BACKGROUND-COLOR: #dddddd"&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/PRE&gt;
&lt;P class=MsoNormal style="BACKGROUND: white; MARGIN: 0.1in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 8.5pt; FONT-FAMILY: 'Verdana','sans-serif'"&gt;&amp;nbsp;&lt;B&gt;&lt;SPAN style="COLOR: black"&gt;lpSecurityDescriptor&lt;/SPAN&gt;&lt;/B&gt;&lt;SPAN style="COLOR: black"&gt; &lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="BACKGROUND: white; MARGIN: 0in 0in 0pt 0.5in"&gt;&lt;SPAN style="FONT-SIZE: 8.5pt; COLOR: black; FONT-FAMILY: 'Verdana','sans-serif'"&gt;A pointer to a security descriptor for the object that controls the sharing of it. If NULL is specified for this member, the object&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="BACKGROUND: white; MARGIN: 0in 0in 0pt 0.5in"&gt;&lt;SPAN style="FONT-SIZE: 8.5pt; COLOR: black; FONT-FAMILY: 'Verdana','sans-serif'"&gt;is assigned the default security descriptor of the calling process. This is not the same as granting access to everyone by&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="BACKGROUND: white; MARGIN: 0in 0in 0pt 0.5in"&gt;&lt;SPAN style="FONT-SIZE: 8.5pt; COLOR: black; FONT-FAMILY: 'Verdana','sans-serif'"&gt;assigning a NULL&amp;nbsp;&lt;I&gt;discretionary access control list&lt;/I&gt; (DACL). The default security descriptor is based on the default DACL of&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="BACKGROUND: white; MARGIN: 0in 0in 0pt 0.5in"&gt;&lt;SPAN style="FONT-SIZE: 8.5pt; COLOR: black; FONT-FAMILY: 'Verdana','sans-serif'"&gt;the &lt;I&gt;access token&lt;/I&gt; belonging to the calling process. By default, the default DACL in the access token of a process allows access&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="BACKGROUND: white; MARGIN: 0in 0in 0pt 0.5in"&gt;&lt;SPAN style="FONT-SIZE: 8.5pt; COLOR: black; FONT-FAMILY: 'Verdana','sans-serif'"&gt;only to the user represented by the access token. If other users must access the object, you can either create a security&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="BACKGROUND: white; MARGIN: 0in 0in 0pt 0.5in"&gt;&lt;SPAN style="FONT-SIZE: 8.5pt; COLOR: black; FONT-FAMILY: 'Verdana','sans-serif'"&gt;descriptor with the appropriate access, or add ACEs to the DACL that grants access to a group of users.&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;PRE&gt;&lt;B&gt;&lt;SPAN style="FONT-SIZE: 8.5pt"&gt;&lt;o:p&gt;&lt;FONT style="BACKGROUND-COLOR: #dddddd" face="Courier New"&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/B&gt;&lt;/PRE&gt;&lt;PRE&gt;&lt;FONT face="Courier New"&gt;&lt;FONT style="BACKGROUND-COLOR: #dddddd"&gt;&lt;SPAN style="FONT-SIZE: 8.5pt"&gt;&amp;nbsp; &lt;B&gt;LPSECURITY_ATTRIBUTES&lt;/B&gt; &lt;/SPAN&gt;&lt;SPAN class=MsoHyperlink&gt;&lt;I&gt;&lt;SPAN style="FONT-SIZE: 8.5pt; COLOR: #0040ff; TEXT-DECORATION: none; text-underline: none"&gt;&lt;U&gt;lpThreadAttributes&lt;/U&gt;&lt;/SPAN&gt;&lt;/I&gt;&lt;/SPAN&gt;&lt;B&gt;&lt;SPAN style="FONT-SIZE: 8.5pt"&gt;, ---&lt;/SPAN&gt;&lt;/B&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT style="BACKGROUND-COLOR: #dddddd"&gt;&lt;SPAN style="FONT-SIZE: 8.5pt; FONT-FAMILY: 'Verdana','sans-serif'"&gt;Pointer to a &lt;B&gt;SECURITY_ATTRIBUTES&lt;/B&gt; structure that specifies a security descriptor&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/PRE&gt;&lt;PRE&gt;&lt;FONT style="BACKGROUND-COLOR: #dddddd"&gt;&lt;SPAN style="FONT-SIZE: 8.5pt; FONT-FAMILY: 'Verdana','sans-serif'"&gt; for the new process and determines whether child processes can inherit the returned handle. If &lt;I&gt;lpThreadAttributes&lt;/I&gt; is NULL or&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/PRE&gt;&lt;PRE&gt;&lt;FONT style="BACKGROUND-COLOR: #dddddd"&gt;&lt;SPAN style="FONT-SIZE: 8.5pt; FONT-FAMILY: 'Verdana','sans-serif'"&gt; &lt;B&gt;lpSecurityDescriptor &lt;/B&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;FONT style="BACKGROUND-COLOR: #dddddd"&gt;&lt;SPAN style="FONT-SIZE: 8.5pt; FONT-FAMILY: 'Verdana','sans-serif'"&gt;is NULL,&lt;/SPAN&gt;&lt;/FONT&gt;&lt;FONT style="BACKGROUND-COLOR: #dddddd"&gt;&lt;SPAN style="FONT-SIZE: 8.5pt; FONT-FAMILY: 'Verdana','sans-serif'"&gt; the thread gets a default security descriptor and the handle cannot be inherited. The default security&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/PRE&gt;&lt;PRE&gt;&lt;FONT style="BACKGROUND-COLOR: #dddddd"&gt;&lt;SPAN style="FONT-SIZE: 8.5pt; FONT-FAMILY: 'Verdana','sans-serif'"&gt; descriptor is that of the user referenced &lt;/SPAN&gt;&lt;/FONT&gt;&lt;FONT style="BACKGROUND-COLOR: #dddddd"&gt;&lt;SPAN style="FONT-SIZE: 8.5pt; FONT-FAMILY: 'Verdana','sans-serif'"&gt;in the &lt;I&gt;hToken&lt;/I&gt; parameter. This security descriptor may not allow access for the caller.&lt;/SPAN&gt;&lt;B&gt;&lt;SPAN style="FONT-SIZE: 8.5pt"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/B&gt;&lt;/FONT&gt;&lt;/PRE&gt;&lt;PRE&gt;&lt;FONT style="BACKGROUND-COLOR: #dddddd"&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="FONT-SIZE: 8.5pt"&gt;&amp;nbsp; &lt;B&gt;BOOL&lt;/B&gt; &lt;/SPAN&gt;&lt;SPAN class=MsoHyperlink&gt;&lt;I&gt;&lt;SPAN style="FONT-SIZE: 8.5pt; COLOR: #0040ff; TEXT-DECORATION: none; text-underline: none"&gt;&lt;U&gt;bInheritHandles&lt;/U&gt;&lt;/SPAN&gt;&lt;/I&gt;&lt;/SPAN&gt;&lt;B&gt;&lt;SPAN style="FONT-SIZE: 8.5pt"&gt;,-----&lt;/SPAN&gt;&lt;/B&gt;&lt;/FONT&gt;&lt;SPAN style="FONT-SIZE: 8.5pt; FONT-FAMILY: 'Verdana','sans-serif'"&gt; If this parameter is TRUE, each inheritable handle in the calling process is inherited by the new process. &lt;/SPAN&gt;&lt;/FONT&gt;&lt;/PRE&gt;&lt;PRE&gt;&lt;FONT style="BACKGROUND-COLOR: #dddddd"&gt;&lt;SPAN style="FONT-SIZE: 8.5pt; FONT-FAMILY: 'Verdana','sans-serif'"&gt;If the parameter is FALSE, the handles are not inherited. Note that inherited handles have the same value and access rights as the original handles.&lt;/SPAN&gt;&lt;B&gt;&lt;SPAN style="FONT-SIZE: 8.5pt"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/B&gt;&lt;/FONT&gt;&lt;/PRE&gt;&lt;PRE&gt;&lt;FONT style="BACKGROUND-COLOR: #dddddd"&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="FONT-SIZE: 8.5pt"&gt;&amp;nbsp; &lt;B&gt;DWORD&lt;/B&gt; &lt;/SPAN&gt;&lt;SPAN class=MsoHyperlink&gt;&lt;I&gt;&lt;SPAN style="FONT-SIZE: 8.5pt; COLOR: #0040ff; TEXT-DECORATION: none; text-underline: none"&gt;&lt;U&gt;dwCreationFlags&lt;/U&gt;&lt;/SPAN&gt;&lt;/I&gt;&lt;/SPAN&gt;&lt;B&gt;&lt;SPAN style="FONT-SIZE: 8.5pt"&gt;,---&lt;/SPAN&gt;&lt;/B&gt;&lt;/FONT&gt;&lt;SPAN style="FONT-SIZE: 8.5pt; FONT-FAMILY: 'Verdana','sans-serif'"&gt; control the priority class and the creation of the process. &lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/PRE&gt;
&lt;P style="BACKGROUND: white"&gt;&lt;SPAN style="FONT-SIZE: 8.5pt; COLOR: black; FONT-FAMILY: 'Verdana','sans-serif'"&gt;The &lt;B&gt;GetPriorityClass&lt;/B&gt; function retrieves the priority class for the specified process. This value, together with the priority value of each thread&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="BACKGROUND: white"&gt;&lt;SPAN style="FONT-SIZE: 8.5pt; COLOR: black; FONT-FAMILY: 'Verdana','sans-serif'"&gt;of the process, determines each thread's base priority level. The operating system uses the base priority level of all executable threads to &lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="BACKGROUND: white"&gt;&lt;SPAN style="FONT-SIZE: 8.5pt; COLOR: black; FONT-FAMILY: 'Verdana','sans-serif'"&gt;determine which thread gets the next slice of CPU time. Threads are scheduled in a round-robin fashion at each priority level, and only when&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="BACKGROUND: white"&gt;&lt;SPAN style="FONT-SIZE: 8.5pt; COLOR: black; FONT-FAMILY: 'Verdana','sans-serif'"&gt;&amp;nbsp;there are no executable threads at a higher level will scheduling of threads at a lower level take place.&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;PRE&gt;&lt;B&gt;&lt;SPAN style="FONT-SIZE: 8.5pt"&gt;&lt;o:p&gt;&lt;FONT style="BACKGROUND-COLOR: #dddddd" face="Courier New"&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/B&gt;&lt;/PRE&gt;&lt;PRE&gt;&lt;FONT style="BACKGROUND-COLOR: #dddddd"&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="FONT-SIZE: 8.5pt"&gt;&amp;nbsp; &lt;B&gt;LPVOID&lt;/B&gt; &lt;/SPAN&gt;&lt;SPAN class=MsoHyperlink&gt;&lt;I&gt;&lt;SPAN style="FONT-SIZE: 8.5pt; COLOR: #0040ff; TEXT-DECORATION: none; text-underline: none"&gt;&lt;U&gt;lpEnvironment&lt;/U&gt;&lt;/SPAN&gt;&lt;/I&gt;&lt;/SPAN&gt;&lt;B&gt;&lt;SPAN style="FONT-SIZE: 8.5pt"&gt;,------&lt;/SPAN&gt;&lt;/B&gt;&lt;/FONT&gt;&lt;SPAN style="FONT-SIZE: 8.5pt; FONT-FAMILY: 'Verdana','sans-serif'"&gt; Pointer to an environment block for the new process. If this parameter is NULL, the new process uses&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/PRE&gt;&lt;PRE&gt;&lt;FONT style="BACKGROUND-COLOR: #dddddd"&gt;&lt;SPAN style="FONT-SIZE: 8.5pt; FONT-FAMILY: 'Verdana','sans-serif'"&gt; the environment of the calling process.&lt;/SPAN&gt;&lt;B&gt;&lt;SPAN style="FONT-SIZE: 8.5pt"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/B&gt;&lt;/FONT&gt;&lt;/PRE&gt;&lt;PRE&gt;&lt;FONT style="BACKGROUND-COLOR: #dddddd"&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="FONT-SIZE: 8.5pt"&gt;&amp;nbsp; &lt;B&gt;LPCTSTR&lt;/B&gt; &lt;/SPAN&gt;&lt;SPAN class=MsoHyperlink&gt;&lt;I&gt;&lt;SPAN style="FONT-SIZE: 8.5pt; COLOR: #0040ff; TEXT-DECORATION: none; text-underline: none"&gt;&lt;U&gt;lpCurrentDirectory&lt;/U&gt;&lt;/SPAN&gt;&lt;/I&gt;&lt;/SPAN&gt;&lt;B&gt;&lt;SPAN style="FONT-SIZE: 8.5pt"&gt;,------------&lt;/SPAN&gt;&lt;/B&gt;&lt;/FONT&gt;&lt;SPAN style="FONT-SIZE: 8.5pt; FONT-FAMILY: 'Verdana','sans-serif'"&gt; Pointer to a null-terminated string that specifies the full path to the current directory for&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/PRE&gt;&lt;PRE&gt;&lt;FONT style="BACKGROUND-COLOR: #dddddd"&gt;&lt;SPAN style="FONT-SIZE: 8.5pt; FONT-FAMILY: 'Verdana','sans-serif'"&gt; the process. &lt;/SPAN&gt;&lt;/FONT&gt;&lt;FONT style="BACKGROUND-COLOR: #dddddd"&gt;&lt;SPAN style="FONT-SIZE: 8.5pt; FONT-FAMILY: 'Verdana','sans-serif'"&gt;If this parameter is NULL, the new process will have the same current drive and directory as the calling process.&lt;/SPAN&gt;&lt;B&gt;&lt;SPAN style="FONT-SIZE: 8.5pt"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/B&gt;&lt;/FONT&gt;&lt;/PRE&gt;&lt;PRE&gt;&lt;FONT face="Courier New"&gt;&lt;FONT style="BACKGROUND-COLOR: #dddddd"&gt;&lt;SPAN style="FONT-SIZE: 8.5pt"&gt;&amp;nbsp; &lt;B&gt;LPSTARTUPINFO&lt;/B&gt; &lt;/SPAN&gt;&lt;SPAN class=MsoHyperlink&gt;&lt;I&gt;&lt;SPAN style="FONT-SIZE: 8.5pt; COLOR: #0040ff; TEXT-DECORATION: none; text-underline: none"&gt;&lt;U&gt;lpStartupInfo&lt;/U&gt;&lt;/SPAN&gt;&lt;/I&gt;&lt;/SPAN&gt;&lt;B&gt;&lt;SPAN style="FONT-SIZE: 8.5pt"&gt;,----------&lt;/SPAN&gt;&lt;/B&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;SPAN style="FONT-SIZE: 8.5pt; FONT-FAMILY: 'Verdana','sans-serif'"&gt;&lt;FONT style="BACKGROUND-COLOR: #dddddd"&gt; Pointer to a &lt;/FONT&gt;&lt;A href="ms-help://MS.PSDKSVR2003SP1.1033/dllproc/base/startupinfo_str.htm" mce_href="ms-help://MS.PSDKSVR2003SP1.1033/dllproc/base/startupinfo_str.htm"&gt;&lt;B&gt;&lt;FONT style="BACKGROUND-COLOR: #dddddd" color=#0000ff&gt;STARTUPINFO&lt;/FONT&gt;&lt;/B&gt;&lt;/A&gt;&lt;FONT style="BACKGROUND-COLOR: #dddddd"&gt; structure that specifies the window station, desktop, standard&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/PRE&gt;&lt;PRE&gt;&lt;SPAN style="FONT-SIZE: 8.5pt; FONT-FAMILY: 'Verdana','sans-serif'"&gt;&lt;FONT style="BACKGROUND-COLOR: #dddddd"&gt; handles,&lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 8.5pt; FONT-FAMILY: 'Verdana','sans-serif'"&gt;&lt;FONT style="BACKGROUND-COLOR: #dddddd"&gt; and appearance of the main window for the new process.&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/PRE&gt;&lt;PRE&gt;&lt;SPAN style="FONT-SIZE: 8.5pt; FONT-FAMILY: 'Verdana','sans-serif'"&gt;&lt;FONT style="BACKGROUND-COLOR: #dddddd"&gt;For graphical user interface (GUI) processes, this information affects the first window created by the &lt;B&gt;CreateWindow&lt;/B&gt; function and &lt;/FONT&gt;&lt;/SPAN&gt;&lt;/PRE&gt;&lt;PRE&gt;&lt;SPAN style="FONT-SIZE: 8.5pt; FONT-FAMILY: 'Verdana','sans-serif'"&gt;&lt;FONT style="BACKGROUND-COLOR: #dddddd"&gt;shown by the &lt;B&gt;ShowWindow&lt;/B&gt; function. For console processes, this information affects the console window if a new console is created&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/PRE&gt;&lt;PRE&gt;&lt;SPAN style="FONT-SIZE: 8.5pt; FONT-FAMILY: 'Verdana','sans-serif'"&gt;&lt;FONT style="BACKGROUND-COLOR: #dddddd"&gt; for the process. &lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 8.5pt; FONT-FAMILY: 'Verdana','sans-serif'"&gt;&lt;FONT style="BACKGROUND-COLOR: #dddddd"&gt; A process can use the &lt;/FONT&gt;&lt;A href="ms-help://MS.PSDKSVR2003SP1.1033/dllproc/base/getstartupinfo.htm" mce_href="ms-help://MS.PSDKSVR2003SP1.1033/dllproc/base/getstartupinfo.htm"&gt;&lt;B&gt;&lt;FONT style="BACKGROUND-COLOR: #dddddd" color=#0000ff&gt;GetStartupInfo&lt;/FONT&gt;&lt;/B&gt;&lt;/A&gt;&lt;FONT style="BACKGROUND-COLOR: #dddddd"&gt; function to retrieve the &lt;B&gt;STARTUPINFO&lt;/B&gt; structure specified when the process&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/PRE&gt;&lt;PRE&gt;&lt;SPAN style="FONT-SIZE: 8.5pt; FONT-FAMILY: 'Verdana','sans-serif'"&gt;&lt;FONT style="BACKGROUND-COLOR: #dddddd"&gt; was created.&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/PRE&gt;&lt;PRE&gt;&lt;B&gt;&lt;SPAN style="FONT-SIZE: 8.5pt"&gt;&lt;o:p&gt;&lt;FONT style="BACKGROUND-COLOR: #dddddd" face="Courier New"&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/B&gt;&lt;/PRE&gt;&lt;PRE&gt;&lt;FONT face="Courier New"&gt;&lt;FONT style="BACKGROUND-COLOR: #dddddd"&gt;&lt;SPAN style="FONT-SIZE: 8.5pt"&gt;&amp;nbsp; &lt;B&gt;LPPROCESS_INFORMATION&lt;/B&gt; &lt;/SPAN&gt;&lt;SPAN class=MsoHyperlink&gt;&lt;I&gt;&lt;SPAN style="FONT-SIZE: 8.5pt; COLOR: #0040ff; TEXT-DECORATION: none; text-underline: none"&gt;&lt;U&gt;lpProcessInformation&lt;/U&gt;&lt;/SPAN&gt;&lt;/I&gt;&lt;/SPAN&gt;&lt;I&gt;&lt;SPAN style="FONT-SIZE: 8.5pt"&gt;-----------&lt;/SPAN&gt;&lt;/I&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;SPAN style="FONT-SIZE: 8.5pt; FONT-FAMILY: 'Verdana','sans-serif'"&gt;&lt;FONT style="BACKGROUND-COLOR: #dddddd"&gt;Pointer to a &lt;/FONT&gt;&lt;A href="ms-help://MS.PSDKSVR2003SP1.1033/dllproc/base/process_information_str.htm" mce_href="ms-help://MS.PSDKSVR2003SP1.1033/dllproc/base/process_information_str.htm"&gt;&lt;B&gt;&lt;FONT style="BACKGROUND-COLOR: #dddddd" color=#0000ff&gt;PROCESS_INFORMATION&lt;/FONT&gt;&lt;/B&gt;&lt;/A&gt;&lt;FONT style="BACKGROUND-COLOR: #dddddd"&gt; structure that receives identification &lt;/FONT&gt;&lt;/SPAN&gt;&lt;/PRE&gt;&lt;PRE&gt;&lt;SPAN style="FONT-SIZE: 8.5pt; FONT-FAMILY: 'Verdana','sans-serif'"&gt;&lt;FONT style="BACKGROUND-COLOR: #dddddd"&gt;information about the new process. This structure contains information about the newly created process and its primary thread.&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/PRE&gt;&lt;PRE&gt;&lt;SPAN style="FONT-SIZE: 8.5pt; FONT-FAMILY: 'Verdana','sans-serif'"&gt;&lt;FONT style="BACKGROUND-COLOR: #dddddd"&gt; &lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 8.5pt"&gt;&lt;FONT style="BACKGROUND-COLOR: #dddddd"&gt;&lt;FONT face="Courier New"&gt;typedef struct _PROCESS_INFORMATION {&lt;BR style="mso-special-character: line-break"&gt;
&lt;BR style="mso-special-character: line-break"&gt;
&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/PRE&gt;&lt;PRE&gt;&lt;FONT style="BACKGROUND-COLOR: #dddddd"&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="FONT-SIZE: 8.5pt"&gt;&amp;nbsp; HANDLE &lt;/SPAN&gt;&lt;SPAN class=MsoHyperlink&gt;&lt;SPAN style="FONT-SIZE: 8.5pt; COLOR: #0040ff; TEXT-DECORATION: none; text-underline: none"&gt;&lt;U&gt;hProcess&lt;/U&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;SPAN style="FONT-SIZE: 8.5pt"&gt;&lt;FONT style="BACKGROUND-COLOR: #dddddd"&gt;&lt;FONT face="Courier New"&gt;;&lt;BR style="mso-special-character: line-break"&gt;
&lt;BR style="mso-special-character: line-break"&gt;
&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/PRE&gt;&lt;PRE&gt;&lt;FONT style="BACKGROUND-COLOR: #dddddd"&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="FONT-SIZE: 8.5pt"&gt;&amp;nbsp; HANDLE &lt;/SPAN&gt;&lt;SPAN class=MsoHyperlink&gt;&lt;SPAN style="FONT-SIZE: 8.5pt; COLOR: #0040ff; TEXT-DECORATION: none; text-underline: none"&gt;&lt;U&gt;hThread&lt;/U&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;SPAN style="FONT-SIZE: 8.5pt"&gt;&lt;FONT style="BACKGROUND-COLOR: #dddddd"&gt;&lt;FONT face="Courier New"&gt;;&lt;BR style="mso-special-character: line-break"&gt;
&lt;BR style="mso-special-character: line-break"&gt;
&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/PRE&gt;&lt;PRE&gt;&lt;FONT style="BACKGROUND-COLOR: #dddddd"&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="FONT-SIZE: 8.5pt"&gt;&amp;nbsp; DWORD &lt;/SPAN&gt;&lt;SPAN class=MsoHyperlink&gt;&lt;SPAN style="FONT-SIZE: 8.5pt; COLOR: #0040ff; TEXT-DECORATION: none; text-underline: none"&gt;&lt;U&gt;dwProcessId&lt;/U&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;SPAN style="FONT-SIZE: 8.5pt"&gt;&lt;FONT style="BACKGROUND-COLOR: #dddddd"&gt;&lt;FONT face="Courier New"&gt;;&lt;BR style="mso-special-character: line-break"&gt;
&lt;BR style="mso-special-character: line-break"&gt;
&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/PRE&gt;&lt;PRE&gt;&lt;FONT style="BACKGROUND-COLOR: #dddddd"&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="FONT-SIZE: 8.5pt"&gt;&amp;nbsp; DWORD &lt;/SPAN&gt;&lt;SPAN class=MsoHyperlink&gt;&lt;SPAN style="FONT-SIZE: 8.5pt; COLOR: #0040ff; TEXT-DECORATION: none; text-underline: none"&gt;&lt;U&gt;dwThreadId&lt;/U&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 8.5pt"&gt;;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/PRE&gt;&lt;PRE&gt;&lt;SPAN style="FONT-SIZE: 8.5pt"&gt;&lt;FONT style="BACKGROUND-COLOR: #dddddd"&gt;&lt;FONT face="Courier New"&gt;} PROCESS_INFORMATION, &lt;BR style="mso-special-character: line-break"&gt;
&lt;BR style="mso-special-character: line-break"&gt;
&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/PRE&gt;&lt;PRE&gt;&lt;SPAN style="FONT-SIZE: 8.5pt"&gt;&lt;FONT style="BACKGROUND-COLOR: #dddddd"&gt;&lt;FONT face="Courier New"&gt;*LPPROCESS_INFORMATION;&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/PRE&gt;&lt;PRE&gt;&lt;SPAN style="FONT-SIZE: 8.5pt; FONT-FAMILY: 'Verdana','sans-serif'"&gt;&lt;FONT style="BACKGROUND-COLOR: #dddddd"&gt;If the function succeeds, be sure to call the &lt;B&gt;CloseHandle&lt;/B&gt; function to close the &lt;B&gt;hProcess&lt;/B&gt; and &lt;B&gt;hThread&lt;/B&gt; handles when you are finished with them. &lt;/FONT&gt;&lt;/SPAN&gt;&lt;/PRE&gt;&lt;PRE&gt;&lt;SPAN style="FONT-SIZE: 8.5pt; FONT-FAMILY: 'Verdana','sans-serif'"&gt;&lt;FONT style="BACKGROUND-COLOR: #dddddd"&gt;Otherwise, when the child process exits, the system cannot clean up these handles because the parent process did not close them. &lt;/FONT&gt;&lt;/SPAN&gt;&lt;/PRE&gt;&lt;PRE&gt;&lt;SPAN style="FONT-SIZE: 8.5pt; FONT-FAMILY: 'Verdana','sans-serif'"&gt;&lt;FONT style="BACKGROUND-COLOR: #dddddd"&gt;However, the system will close these handles when the parent process terminates, so they would be cleaned up at this point.&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/PRE&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;B&gt;&lt;SPAN style="FONT-SIZE: 8.5pt"&gt;&lt;FONT face=Calibri&gt;);&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/B&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;B&gt;&lt;SPAN style="FONT-SIZE: 8.5pt"&gt;&lt;o:p&gt;&lt;FONT face=Calibri&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/B&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 8.5pt; COLOR: black; FONT-FAMILY: 'Verdana','sans-serif'"&gt;By default, &lt;B&gt;CreateProcessAsUser&lt;/B&gt; creates the new process on a noninteractive window station with a desktop that is not visible and cannot&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 8.5pt; COLOR: black; FONT-FAMILY: 'Verdana','sans-serif'"&gt;receive user input. To enable user interaction with the new process, you must specify the name of the default interactive window station and&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 8.5pt; COLOR: black; FONT-FAMILY: 'Verdana','sans-serif'"&gt;desktop, "winsta0\default",&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 8.5pt; COLOR: black; FONT-FAMILY: 'Verdana','sans-serif'"&gt;in the &lt;B&gt;lpDesktop&lt;/B&gt; member of the &lt;A href="ms-help://MS.PSDKSVR2003SP1.1033/dllproc/base/startupinfo_str.htm" mce_href="ms-help://MS.PSDKSVR2003SP1.1033/dllproc/base/startupinfo_str.htm"&gt;&lt;B&gt;&lt;FONT color=#0000ff&gt;STARTUPINFO&lt;/FONT&gt;&lt;/B&gt;&lt;/A&gt; structure.&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 8.5pt; COLOR: black; FONT-FAMILY: 'Verdana','sans-serif'"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 8.5pt; COLOR: black; FONT-FAMILY: 'Verdana','sans-serif'"&gt;The preferred way to shut down a process is by using the &lt;A href="ms-help://MS.PSDKSVR2003SP1.1033/dllproc/base/exitprocess.htm" mce_href="ms-help://MS.PSDKSVR2003SP1.1033/dllproc/base/exitprocess.htm"&gt;&lt;B&gt;&lt;FONT color=#0000ff&gt;ExitProcess&lt;/FONT&gt;&lt;/B&gt;&lt;/A&gt; function, because this function sends notification of approaching &lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 8.5pt; COLOR: black; FONT-FAMILY: 'Verdana','sans-serif'"&gt;termination to all DLLs attached to the process. Other means of shutting down a process do not notify the attached DLLs. Note that when&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 8.5pt; COLOR: black; FONT-FAMILY: 'Verdana','sans-serif'"&gt;a thread calls &lt;B&gt;ExitProcess&lt;/B&gt;, other threads of the process are terminated without an opportunity to execute any additional code (including &lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 8.5pt; COLOR: black; FONT-FAMILY: 'Verdana','sans-serif'"&gt;the thread termination code of attached DLLs).&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 8.5pt; FONT-FAMILY: 'Verdana','sans-serif'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="COLOR: #1f497d; mso-themecolor: dark2; mso-bidi-font-family: 'Times New Roman'; mso-bidi-theme-font: minor-bidi; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-hansi-theme-font: minor-latin"&gt;&lt;o:p&gt;&lt;FONT face=Calibri size=3&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;B style="mso-bidi-font-weight: normal"&gt;&lt;SPAN style="FONT-SIZE: 8.5pt; COLOR: black; FONT-FAMILY: 'Verdana','sans-serif'"&gt;PLEASE LEVEAGE THE WINDOWS SDK FOR MORE ON SAME.&lt;/SPAN&gt;&lt;/B&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;B style="mso-bidi-font-weight: normal"&gt;&lt;SPAN style="FONT-SIZE: 8.5pt; COLOR: black; FONT-FAMILY: 'Verdana','sans-serif'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/B&gt;&amp;nbsp;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt" minmax_bound="true"&gt;===========================&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt" minmax_bound="true"&gt;&lt;SPAN class=a minmax_bound="true"&gt;&lt;FONT color=#008000 minmax_bound="true"&gt;&lt;SPAN lang=EN-IN style="COLOR: black; mso-ansi-language: EN-IN" minmax_bound="true"&gt;&lt;FONT size=3 minmax_bound="true"&gt;&lt;FONT face=Calibri minmax_bound="true"&gt;Gaurav Anand&lt;/P&gt;
&lt;P minmax_bound="true"&gt;This posting is provided "AS IS" with no warranties, and confers no rights.&lt;/P&gt;&lt;o:p minmax_bound="true"&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;img src="http://blogs.technet.com/aggbug.aspx?PostID=2895363" width="1" height="1"&gt;</description><category domain="http://blogs.technet.com/ganand/archive/tags/When+a+new+process+is+created/default.aspx">When a new process is created</category></item></channel></rss>