

![]() | Start a set with this search |
![]() | Include this search in one of my sets |
![]() | Exclude this search from one of my sets |
![]() | Permalink to these results Paste this link in email or IM: |
| Atom feed for tracking future search results Paste this URL into your reader: |
28 messages in net.java.dev.jna.usersRe: [jna-users] Win32 Service Callbacks| From | Sent On | Attachments |
|---|---|---|
| Thomas Börkel | Aug 21, 2007 6:26 am | |
| Thomas Börkel | Aug 22, 2007 12:35 am | |
| Wayne Meissner | Aug 22, 2007 4:38 pm | |
| Thomas Börkel | Aug 22, 2007 10:36 pm | |
| Timothy Wall | Aug 31, 2007 7:23 am | |
| Thomas Börkel | Aug 31, 2007 7:47 am | |
| Timothy Wall | Aug 31, 2007 7:55 am | |
| Thomas Börkel | Sep 3, 2007 6:29 am | |
| Thomas Börkel | Sep 3, 2007 1:11 pm | |
| Timothy Wall | Sep 6, 2007 11:21 am | |
| Thomas Börkel | Sep 7, 2007 7:08 am | |
| Timothy Wall | Sep 7, 2007 7:43 am | |
| Thomas Börkel | Sep 10, 2007 12:18 am | |
| Thomas Börkel | Sep 10, 2007 4:36 am | |
| Timothy Wall | Sep 10, 2007 5:43 am | |
| Thomas Börkel | Sep 10, 2007 6:49 am | |
| Timothy Wall | Sep 11, 2007 4:47 am | |
| Thomas Börkel | Sep 11, 2007 6:15 am | |
| Timothy Wall | Sep 11, 2007 6:47 am | |
| Thomas Börkel | Sep 11, 2007 6:52 am | |
| Timothy Wall | Sep 11, 2007 8:52 am | |
| Thomas Börkel | Sep 11, 2007 10:26 pm | |
| Timothy Wall | Sep 12, 2007 5:45 am | |
| Thomas Börkel | Sep 12, 2007 5:56 am | |
| Timothy Wall | Sep 12, 2007 6:19 am | |
| Thomas Börkel | Sep 12, 2007 7:09 am | |
| Timothy Wall | Sep 12, 2007 8:17 am | |
| Thomas Börkel | Sep 13, 2007 12:58 am |

![]() | Permalink for this message Paste this link in email or IM: |
![]() | Permalink for this thread Paste this link in email or IM: |
| Atom feed for this thread Paste this URL into your reader: |
| Subject: | Re: [jna-users] Win32 Service Callbacks | Actions... |
|---|---|---|
| From: | Thomas Börkel (tho...@boerkel.de) | |
| Date: | Sep 12, 2007 5:56:47 am | |
| List: | net.java.dev.jna.users | |
HI!
Timothy Wall wrote:
not, then its strings may not be encoded the same as the library. Usually it's best (at least with windows) to define the structure within the library interface to ensure that the same mapping and encoding options are used.
Ah, I see. But it's strange, that it worked for another Structure with a String in the same source.
Perhaps the other structure was expecting "const char*" rather than "const wchar_t*"?
They were both LPTSTR and being passed to functions that are available as A and W versions.
OK, I see the problem. If you pass a Pointer, you are then responsible for ensuring Structure.write() gets called *before* the method call and that you call Structure.read() *after* the method call. When the Structure is an argument, the JNA library can automatically do that for you. When you pass the Pointer, the native memory behind the struct is probably still all zeroed, which would give you an empty description.
What you can do instead of declaring the param as Pointer, is declare an intermediate Structure from which all the other ones derive, e.g.
public static class OptionsStructure extends Structure { } public static class SERVICE_DESCRIPTION extends OptionsStructure { public String lpDescription; }
That will allow the structures to be interchangeable and still get the automatic structure read/write behavior.
Cool, I'll try that.
BTW, I've been tinkering with launching java.exe directly as a service, but the process always seems to exit immediately. I'm not sure how to figure out why, though. I can install/uninstall directly from Java without problems, but when I try to start the service it appears that the process quits immediately (I get two event log errors - "process failed to respond" and "process timed out after 30s").
I have now a complete working example of an abstract Win32 service class in Java. Also, I have defined lots of needed Win32 functions and constants for services and for registry access. I can contribute that. What do I have to do?
Thomas







