It mostly comes from feeding SdbTagToString all valid inputs. Some constants are from msdn. I do not know of a *real* program calling this API other than winapi itself. kernel32 uses it for backwards compatibility. I wrote plenty of tests[1], parsed shim database files (C:\windows\AppPatch*.sdb) and matched an entry in datatabse with executable[2] (Yes, I know [2] is done wrong but that's my dirty working branch)
[1] https://github.com/krofna/wine/blob/master/dlls/apphelp/tests/apphelp.c [2] https://github.com/krofna/wine/blob/master/dlls/kernel32/process.c#L1088
On Fri, Aug 16, 2013 at 4:07 AM, Dmitry Timoshkov dmitry@baikal.ru wrote:
Mislav Blazevic krofnica996@gmail.com wrote:
dlls/apphelp/apphelp.c | 10 +- dlls/apphelp/apphelp.h | 272
+++++++++++++++++++++++++++++++++++++++++++++++++
2 files changed, 273 insertions(+), 9 deletions(-) create mode 100644 dlls/apphelp/apphelp.h
Where all of this comes from? Is there an application that calls apphelp APIs and doesn't work because of failures? How are you testing your implementation?
-- Dmitry.