Alistair Leslie-Hughes <leslie_alistair(a)hotmail.com> wrote:
+ static const WCHAR session_format[] = { + 'S','o','f','t','w','a','r','e','\\','M','i','c','r','o','s','o','f','t','\\', + 'W','i','n','d','o','w','s','\\','C','u','r','r','e','n','t','V','e','r','s','i','o','n','\\', + 'E','x','p','l','o','r','e','r','\\','S','e','s','s','i','o','n','I','n','f','o','\\','%','d',0}; + DWORD session;
'session' is unsigned, 'session_format' should use appropriate format specifier.
+ WCHAR sessionW[MAX_PATH];
Why MAX_PATH?
+ static WCHAR session_reg_str[sizeof(session_format) + 16]; + + if(hkey) + *hkey = NULL; + + if(!access) + return E_ACCESSDENIED; + + if(!ProcessIdToSessionId( GetCurrentProcessId(), &session)) + return E_INVALIDARG;
Please add a space after 'if' as in the original patch, and remove a stray space after '('. Same comment applies for the tests.
+ sprintfW(session_reg_str, session_format, session); + + TRACE("using session key %s\n", debugstr_w(session_reg_str)); + return RegCreateKeyExW(HKEY_CURRENT_USER, session_reg_str, 0, NULL, + REG_OPTION_VOLATILE, access, NULL, hkey, NULL);
REG_OPTION_VOLATILE indentation should be aligned as in the original patch. -- Dmitry.