With JNIWrapper, there is no need for you to create native code libraries to call a function of the operating system API or a function from any dynamic library. You write your code in Java language only, and JNIWrapper does the rest. The main features of JNIWrapper are: - Invoke any function with any parameters from native code library - Support for both stdcall and cdecl calling conventions - Support for many data types including structures, unions and pointers - Callbacks with any parameters and stdcall or cdecl calling conventions - Specially tuned for operations with large amounts of complex native-side data - Extensible architecture allows implementing new data types or customizing existing ones - Support for thread-safe, truly concurrent function invocation - Customizable native library searching mechanism - Completely automatic resource management - Crashes in native functions are converted to Java exceptions. JNIWrapper advantages: - Minimum behind-the-scene operation. Developers can always see what is happening when working with the native-side data. - High performance. JNIWrapper has been specially tuned for performance, especially in cases where large amounts of data are involved in the interactions. - Automatic resource management. All resources allocated by JNIWrapper components are released automatically when no longer required. - Comprehensive support for native function invocation. JNIWrapper supports both stdcall and cdecl calling conventions and all complex C types including structures and unions. Along with WinPack, a free addition to JNIWrapper, there is no need to learn the native Windows API to use it. WinPack library abilities: - Access to Windows Registry; - Windows Decoration; - Tray icon for Java application.