|
From: Leif M. <le...@ta...> - 2004-01-08 09:59:06
|
Richard,
Sorry I never answered you did I.
The Wrapper currently catches system events in the native code,
Wrapper.DLL. It is taking any signal except the CTRL_BREAK_EVENT, which
is used to generate thread dumps.
What is the actual system signal that your card is throwing? Normally
windows does not throw any signals that I know of when a user logs in. I am
interesting in finding out how your card works because I have been looking
for a nice clean way of telling when a user logs on for a while. The next
version of the Wrapper allows you to poll for this information, but there is
no signal that I could find that is fired when a user logs on to a
Windows system.
Here is the native code that parses the signals. Note that I am passing any
unknown signals off to the JVM as well so the controlEvent method of your
WrapperListener should get them if they are thrown.
---
int wrapperConsoleHandler(int key) {
int event;
/* Call the control callback in the java code */
switch(key) {
case CTRL_C_EVENT:
event = org_tanukisoftware_wrapper_WrapperManager_WRAPPER_CTRL_C_EVENT;
break;
case CTRL_BREAK_EVENT:
/* This is a request to do a thread dump. Let the JVM handle this. */
return FALSE;
case CTRL_CLOSE_EVENT:
event = org_tanukisoftware_wrapper_WrapperManager_WRAPPER_CTRL_CLOSE_EVENT;
break;
case CTRL_LOGOFF_EVENT:
event = org_tanukisoftware_wrapper_WrapperManager_WRAPPER_CTRL_LOGOFF_EVENT;
break;
case CTRL_SHUTDOWN_EVENT:
event =
org_tanukisoftware_wrapper_WrapperManager_WRAPPER_CTRL_SHUTDOWN_EVENT;
break;
default:
event = key;
}
if (wrapperJNIDebugging) {
printf("Got Control Signal %d->%d\n", key, event);
flushall();
}
wrapperJNIHandleSignal(event);
if (wrapperJNIDebugging) {
printf("Handled signal\n");
flushall();
}
return TRUE; /* We handled the event. */
}
---
Please most back with as much info as you can make available even if you
get this working.
Cheers,
Leif
Richard Luong wrote:
> I want to hook onto the Windows Login (Gina.dll) so that I can login
> through an ID card. I can do the JNI stuff to talk from Java to the C
> dll. But I would like the C code to be able to talk back to the Java
> code through throwing events to my NT Service.
>
> My question is, does the Java Service Wrapper catch all events and
> pass them on? If that's so, then problem solved.
>
> If not, does it only pass on specific control events such as windows
> logoff, shutdown and ctr+C ?
>
> If so, can I modify the code to pass on all events? I know that I will
> have to use Integration Method #3, which is not a problem for me.
> However, any pointers to the code that is catching and possibly
> ignoring/passing on events would be helpful.
>
> Thanks.
>
> _________________________________________________________________
> Expand your wine savvy ・and get some great new recipes ・at MSN Wine.
> http://wine.msn.com
>
>
>
> -------------------------------------------------------
> This SF.net email is sponsored by: Perforce Software.
> Perforce is the Fast Software Configuration Management System offering
> advanced branching capabilities and atomic changes on 50+ platforms.
> Free Eval! http://www.perforce.com/perforce/loadprog.html
> _______________________________________________
> Wrapper-user mailing list
> Wra...@li...
> https://lists.sourceforge.net/lists/listinfo/wrapper-user
>
|