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.