Генератор ключей

Добрый день!
Пытаюсь разобраться с примером генератора ключей на дельфи.
В примере используется библиотека под 32-ю платформу KeyGen32.dll, при этом
функция генерации (VMProtectGenerateSerialNumber) возвращает результат 0, все ок.

Но при попытке пересобрать приложение под 64-ю платформу, используя соответственно KeyGen64.dll
функция VMProtectGenerateSerialNumber возвращает код ошибки 2 (UNSUPPORTED_NUMBER_OF_BITS).
Хотя данные что для 32 что для 64 битных сборок одни и те же, в примере 2048 бит.
Почему так?

Можете прислать исходники и собранный проект в виде EXE и DLL?

Да конечно. Во вложении.

Проблема в описании структуры VMProtectProductInfo.

В Сишном файле она выглядит так:

struct VMProtectProductInfo
{
	VMProtectAlgorithms	algorithm;
	size_t		nBits;
	size_t		nPrivateSize;
	byte		*pPrivate;
	size_t		nModulusSize;
	byte		*pModulus;
	size_t		nProductCodeSize;
	byte		*pProductCode;
};

Сишный size_t - это дельфовый NativeInt, т.е. структура должна выглядеть так:

  VMProtectProductInfo = packed record
    algorithm: Longword;
    nBits: NativeInt;
    nPrivateSize: NativeInt;
    pPrivate: PByte;
    nModulusSize: NativeInt;
    pModulus: PByte;
    nProductCodeSize: NativeInt;
    pProductCode: PByte;
  end;

P.S. VMProtectSerialNumberInfo тоже надо переделать

спасибо, сейчас попробую

upd:
Да подправил структуру и все работает! Благодарю за помощь.