I was making the following call:
result = RegOpenKeyEx(key, s, 0, KEY_READ, &key);
(C++, Visual Studio 5, Vista 64bit).
It is failing with error code 2 (‘File not found’) even though ‘regedit‘ shows that the key exists. This code has always worked on 32bit XP. Why is it ‘file not found’ when it clearly is there?
I discovered that I could solve my problem using the flag:
KEY_WOW64_64KEY, as in:For a full explanation: 32-bit and 64-bit Application Data in the Registry