title: P/Invoking CreateToolhelp32Snapshot failing in Compact Framework
body: <p>Hey, im doing a little app for my smart phone, using Windows Mobile 6. I'm trying to get all currently running processec, but method CreateToolhelp32Snapshot always returns -1. So now im stuck. I tried to get error with invoking GetLastError() method, but that method returns 0 value.
  Here is a snippet of my code.</p>
  
  <pre><code>private const int TH32CS_SNAPPROCESS = 0x00000002;
  [DllImport("toolhelp.dll")]
  public static extern IntPtr CreateToolhelp32Snapshot(uint flags, 
                                                       uint processid);
  
  public static Process[] GetProcesses()
      {
          ArrayList procList = new ArrayList();
          IntPtr handle = CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0);
  
          if ((int)handle &gt; 0)
          {
              try
              {
                  PROCESSENTRY32 peCurr;
                  PROCESSENTRY32 pe32 = new PROCESSENTRY32();
  
                  // get byte array to pass to API call
                  byte[] peBytes = pe32.ToByteArray();
                  // get the first process
                  int retval = Process32First(handle, peBytes);
  </code></pre>