title: BITMAPINFOHEADER biHeight is twice what I expect
body: <p>I'm writing an application in C to parse Windows Icon files (ICO).</p>
  
  <p>When I read in the <code>BITMAPINFOHEADER</code> struct for an existing icon entry,  all of the variables within the struct contain values that are expected, except that <code>biHeight</code>, which should contain the height in pixels of the image, is always twice what it should be.</p>
  
  <p>So for example if I have a 64x64 icon, <code>biWidth</code> is 64, but <code>biHeight</code> is 128.</p>
  
  <p>Is this expected behavior? This is my first time dealing with <code>BITMAPINFOHEADER</code>.</p>
  
  <p>I'm mainly operating from the <a href="http://msdn.microsoft.com/en-us/library/dd183376(v=vs.85).aspx" rel="noreferrer">MSDN article on BITMAPINFOHEADER</a>.</p>