Issue with RegOpenKeyEx

  • Thread starter Thread starter VJK
  • Start date Start date
V

VJK

This question is related to Windows registry key opening.

Please refer to the following two lines of VC++ code

printf ("queryRegistrySetting:%s - %s - %s\n", subElement,
variableName, variableType);
output: queryRegistrySetting: Software\\xx\\xx\\xx\\xx\\xx - Args -
EXPAND_STRING

long result = RegOpenKeyEx (HKEY_LOCAL_MACHINE, subElement, 0,
KEY_ALL_ACCESS, &key);
output: fails with return value of 87
From winerror.h: #define ERROR_INVALID_PARAMETER 87L // dderror

But,

long result = RegOpenKeyEx (HKEY_LOCAL_MACHINE,
"Software\\xx\\xx\\xx\\xx\\xx", 0, KEY_ALL_ACCESS, &key);

succeeds without any error. As you can see, in the second case, I have
replaced the variable subElement, with actual value.

Once it succeeds with the above change, even if I use the variable
subElement, i.e.

long result = RegOpenKeyEx (HKEY_LOCAL_MACHINE, subElement, 0,
KEY_ALL_ACCESS, &key);

succeeds without any error, till I logout and login or reboot the
system.

Alternate way of executing RegOpenKeyEx without error:
----------------------------------------------------------------------------------

Instead of replacing subElement with actual value, if I do,

a. Start->Run->regedit
b. this opens the registry editor.
c. without doing any change, I just scrool to the subelement,
Software\\xx\\xx\\xx\\xx\\xx and close the registry editor.

After this,

long result = RegOpenKeyEx (HKEY_LOCAL_MACHINE, subElement, 0,
KEY_ALL_ACCESS, &key); succeeds without any error.

Could someone, explain, if they have faced similar issue and if so, how
this is solved, please ?

Thanks in advance for your help.
 
Try posting your question in the microsoft Visual C newsgroup & not a
Windows 2000 registry one

I know the answer to your question & I will gladly answer it if posted in
the correct newsgroup.

By the way: 'prinf' is a C command that can be used in C++

Crouchie1998
BA (HONS) MCP MCSE
 
Ok Crouchie. As you said, I have posted the same question in "Visual
C++ Lovers" If you can answer my question, in that group, that will
help me a lot.

Thanks again.
VJK
 
Back
Top