Aliasing is using a name for a Java method that is different from the name used by the DLL when it exports the function. For example, you might want the Java name to start with a lowercase letter to conform to Java naming conventions. To do so, use @dll.import with the entrypoint modifier as in the following example.
/** @dll.import("USER32", entrypoint="GetSysColor") */ static native int getSysColor(int nIndex);
Aliasing isn't necessary to do ANSI/Unicode Win32 API suffixing. The Microsoft VM automatically takes care of this (see Calling Different Versions of DLL Functions). Aliasing is also unnecessary when accessing functions that have been exported by a .def file. Such names are typically exported using __stdcall mangling, which changes the names by prepending "_" and appending "@xxx", where xxx is the number of parameter bytes accepted by the function. For example, a method such as the following sample method would be renamed to _sample@8.
extern "C" __declspec(dllexport) VOID sample(int x, int y){ ... }
Microsoft® J/Direct automatically binds to __stdcall-mangled names without an explicit entry point.
The Microsoft VM automatically provides aliases for the following KERNEL32 API functions.
CopyMemory (becomes RtlMoveMemory) MoveMemory (becomes RtlMoveMemory) FillMemory (becomes RtlFillMemory) ZeroMemory (becomes RtlZeroMemory)