Я ищу список Win32 API в каком-то формате "базы данных" / XML.
Мне это нужно, чтобы легко создать «уровень преобразования» между Win32 API и языком более высокого уровня, который я использую (harbor / xharbour). Поскольку это запускает Pcode, необходимо преобразовать параметры в стандарт C ...
Вместо того, чтобы писать код вручную, я хотел бы автоматизировать процесс ...
просто, например, определение Windows API (взято из MSDN)
DWORD WINAPI GetSysColor(
__in int nIndex
);
должен быть преобразован в
HB_FUNC( GETSYSCOLOR )
{
hb_retnl( (LONG) GetSysColor( hb_parni( 1 ) ) );
}

Примерно самое близкое, что я знаю, было бы: http://pinvoke.net/ Может, они поделятся с вами своими данными? У них есть инструмент VS, который обращается к этим данным, так что это может быть веб-сервис. Возможно, вы даже сможете это унюхать.
AFAIK, pinvoke.net хранит только текстовые данные с определением PInvoke для вызова. Не очень полезно, если вы хотите использовать что-то в качестве предварительно проанализированной базы данных API.
Вероятно, вы могли бы создать небольшой синтаксический анализатор, который возьмет включаемый файл и переведет его в то, что вам нужно. В этом случае я бы порекомендовал использовать включаемые файлы lcc-win32, поскольку они в значительной степени являются обезжиренной / не-BS версией заголовков SDK (они не содержат кучу специальных зарезервированных слов, которые вы должны игнорировать, так далее.)
Конечно, у вас есть Microsoft Platform SDK, но он находится в необработанном коде .h C, поэтому его сложно разобрать!
Аналогичная работа была проделана пользователями VB (и пользователями Delphi и, возможно, для некоторых других языков), например, в ApiViewer есть такая база данных, но в каком-то проприетарном двоичном формате (расширение .apv), поэтому вам, возможно, придется ее перепроектировать. Точно так же есть руководство по API, которое было размещено на Allapi.net, но теперь похоже, что это место для парковки. Он использовал файлы .api (снова бинарные проприетарные).
Кажется, есть некоторая база данных (и приложение для ее использования под названием "Помощник по взаимодействию PInvoke") по адресу:
https://github.com/jaredpar/pinvoke/tree/master/StorageGenerator/Data
хотя я не уверен, какая сейчас лицензия - таким образом, Я спросил авторов.