title: Going from 32-bit to 64-bit
body: <p>Specifics:
  VC++ 7; Program works on XP, but crashes on Win7; developed using VS2003.NET (old I know but it's what I have to work with and it works fine thank you very much)</p>
  
  <p>I've got a program that runs great on XP (32-bit). However, I've recently tested it with Win7 and all kinds of choas breaks loose. My strong suspicion is how my program deals with registry keys.</p>
  
  <p><em>NOTE: The program does not create or destroy keys, only queries for keys and returns interesting values. ("Interesting" described below)</em></p>
  
  <p>In the simplest form, the program reads data from a SCSI attached device, and saves the data to a file on the host PC. The program queries the registry for SCSI adapters and returns the adapter IDs which the program uses to access the device.</p>
  
  <p>To me, it doesn't look like the registry structure has changed from XP to Win7 but not 100% sure. Any insight on that would be great :)</p>
  
  <p>Also, I read at: <a href="http://www.techsupportalert.com/content/how-windows7-vista64-support-32bit-applications.htm" rel="nofollow">http://www.techsupportalert.com/content/how-windows7-vista64-support-32bit-applications.htm</a> that the way Win7 does things is like a reflection. Does this change how I should query for the key? If so, any information on how to structure the query would be great.</p>
  
  <p>I think what I need to know is:</p>
  
  <ul>
  <li>Is it as simple as changing the hKey (or lpValueName) in the RegQueryValueEx method?</li>
  <li>Or does this mean I need to change some other aspect of the RegQueryValueEx method?</li>
  <li>Or something else entirely?</li>
  </ul>
  
  <p>Thank you in advance!</p>