REGDIR, strange error message

  • This site uses cookies. By continuing to use this site, you are agreeing to our use of cookies. Learn more.
#4
Here's a similar one with another oddity (that was not in my first example). Notice the leading space when the parameter is shown after the error message.

upload_2017-8-1_0-7-55.png

ProcessMonitor says TCC calls RegOpenKey (result "NAME NOT FOUND" ... ???). But WinDbg does not break on RegOpenKeyW! Could it be the new VisualStudio pooh-poohing that old function?
 
#5
WinDbg wasn't breaking because it had set the breakpoint at CRYPT32!RegOpenKeyExW. After I specified ADVAPI32!RegOpenKeyExW and tried the experiment in question, I could see that RegOpenKeyExW returns 2, which seems correct.
 

rconn

Administrator
Staff member
May 14, 2008
10,096
85
#7
No, the key does not exist. Are you calling GetLastError() after a function that doesn't SetLastError()?
I took a look at that code (which is in a third-party library). They are throwing an exception if RegOpenKeyEx returns an error; the (generic) exception handler then calls GetLastError(). For 21.0.40, I just changed that to pass the error returned from RegOpenKeyEx. (Though to be fair to the original developer, the MS docs never say which of the Windows APIs do not support GetLastError().)