Exception 299 on Process.MainModule access

EDN Admin

Well-known member
Joined
Aug 7, 2010
Messages
12,794
Location
In the Machine
<p align=left> 
<div class=codeseg>
<div class=codecontent>
<div class=codesniptitle><span style="width:100% Code Snippet
<p align=left><font face=Arial><font color="#0000ff using</font><font color="#000000 System;</font> </font><font color="#0000ff <font color="#0000ff
<p align=left><font face=Arial>using</font></font></font><font face=Arial color="#000000 System.Diagnostics;</font> <font color="#0000ff <font color="#0000ff
<p align=left><font face=Arial>namespace</font></font></font><font face=Arial color="#000000 X299_Example</font>
<p align=left><font face=Arial>{</font>
<blockquote dir=ltr style="margin-right:0px
<p align=left><font face=Arial><font color="#0000ff <font color="#0000ff class</font></font> <font color="#2b91af <font color="#2b91af Program </font></font></font>
<p align=left><font face=Arial>{</font>
<blockquote dir=ltr style="margin-right:0px
<p align=left><font face=Arial><font color="#0000ff <font color="#0000ff static</font></font> <font color="#0000ff <font color="#0000ff void</font></font> Main(<font color="#0000ff <font color="#0000ff string</font></font></font><font face=Arial>[] args)</font>
<p align=left><font face=Arial>{</font>
<blockquote dir=ltr style="margin-right:0px
<p align=left><font face=Arial><font color="#2b91af <font color="#2b91af Process</font></font> P = <font color="#0000ff <font color="#0000ff new</font></font> <font color="#2b91af <font color="#2b91af Process</font></font></font><font face=Arial>();</font>
<p align=left><font face=Arial>P.StartInfo.FileName = </font><font color="#a31515 <font face=Arial color="#a31515 "cmd.exe"</font></font><font face=Arial>;</font>
<p align=left><font face=Arial>P.Start();</font>
<p align=left><font color="#0000ff <font face=Arial color="#0000ff long</font></font><font face=Arial> Example = P.MainModule.BaseAddress.ToInt64(); //exception 299</font> </blockquote>
<p align=left><font face=Arial>}</font> </blockquote>
<p align=left><font face=Arial>}</font> </blockquote>
<p align=left><font face=Arial>}</font>
<p align=left> 

<p align=left>
 
<p align=left>On Vista SP1 x86 that code gives me exception 299 randomly.  However, after the exception is thrown if I run the program again it works fine.  But then if I wait a few minutes it throws exception 299 again.  I really dont want to implement API calls to replicate this functionality.  Any ideas?
<p align=left> 
<p align=left>(btw, references to ANY property of the Process throws exceptions.  Also, its not limited to cmd.exe its just used to illustrate the point.)
<p align=left> 
<p align=left>I tried getting around it by catching the exception and retrying whenever the exception is thrown, but that results in an infinite loop.

View the full article
 

Similar threads

Back
Top