title: Why does TH32CS_SNAPMODULE32 doesn't work alone?
body: <p>I was experimenting with some stuff in WinAPI. My OS is Win7 x64 P1 Ultimate. When I was trying to list all modules of a process I found out that the module that I wanted is a 32-bit module so I replaced</p>
  
  <pre><code>TH32CS_SNAPMODULE
  </code></pre>
  
  <p>With</p>
  
  <pre><code>TH32CS_SNAPMODULE32
  </code></pre>
  
  <p>After this no module was shown. So I decided to try using bitwise operators and looks like if I send the arguments like this</p>
  
  <pre><code>TH32CS_SNAPMODULE32 | TH32CS_SNAPMODULE
  </code></pre>
  
  <p>It works perfectly fine, listing all 64bit and 32bit modules. So my question here is why it doesn't work alone? Even the docs say it <strong>can</strong> be used with <code>TH32CS_SNAPMODULE</code>.</p>
  
  <p>Quote from MSDN</p>
  
  <blockquote>
    <p>TH32CS_SNAPMODULE32</p>
    
    <p>Includes all 32-bit modules of the process specified in th32ProcessID in the snapshot when called from a 64-bit process. This flag can be combined with TH32CS_SNAPMODULE or TH32CS_SNAPALL. If the function fails with ERROR_BAD_LENGTH, retry the function until it succeeds.</p>
  </blockquote>