__stdcall с JNR
Я использую JNR и пытаюсь позвонить __stdcall
функция. Я уже пытался загрузить библиотеку с stdcall()
конвенции:
mTemplateApi = LibraryLoader.create(FPTemplateAPI.class).stdcall().load("FPTemplateAPI");
И попытался аннотировать метод с @StdCall
,
public interface FPTemplateAP
{
@StdCall
Pointer CreateTemplateImage(@In ByteBuffer aTemplate,
@Out IntByReference aWidth,
@Out IntByReference aHeight,
@In boolean aColor);
}
В результате я получаю следующую ошибку при попытке вызвать метод:
Exception in thread "main" java.lang.UnsatisfiedLinkError: The operation completed successfully.
at jnr.ffi.provider.jffi.AsmRuntime.newUnsatisifiedLinkError(AsmRuntime.java:40)
1 ответ
На данный момент я создал еще одну DLL, которая делегирует __stdcall
длл, но использует __cdecl
, и это прекрасно работает для меня.