It'd be really cool to include a Java w32 service wrapper (perhaps as
an abstract class) in the JNA contrib area. Is your minimal C
wrapper required to launch java.exe, or would it be possible to
install the service without it? I notice some service definitions
have both an .exe and arguments defined, so it seems like that should
be possible for java (e.g. java.exe -classpath ... <classname>).
On Sep 10, 2007, at 7:36 AM, Thomas Börkel wrote:
C definition:
SERVICE_STATUS_HANDLE WINAPI RegisterServiceCtrlHandlerEx(
LPCTSTR lpServiceName,
LPHANDLER_FUNCTION_EX lpHandlerProc,
LPVOID lpContext
DWORD WINAPI HandlerEx(
DWORD dwControl,
DWORD dwEventType,
LPVOID lpEventData,
LPVOID lpContext
);
Java:
public Pointer RegisterServiceCtrlHandlerEx(String lpServiceName,
WINSVC.HANDLER_FUNCTION_EX lpHandlerProc, Pointer lpContext);
interface HANDLER_FUNCTION_EX extends StdCallCallback {
public void callback(int dwControl, int dwEventType, Pointer
lpEventData, Pointer lpContext);
}
So for the moment, at least, the "ex" versions are required for the
service to run under Vista.