On Sep 11, 2007, at 9:52 AM, Thomas Börkel wrote:
HI!
Timothy Wall wrote:
That looks correct. Remember that the services control panel doesn't
update automatically; you have to force a refresh.
Yes, I know. But still the description stays empty.
I now changed it like this:
public boolean ChangeServiceConfig2(Pointer hService, int
dwInfoLevel,
WINSVC.SERVICE_DESCRIPTION lpInfo);
desc = new WINSVC.SERVICE_DESCRIPTION();
desc.lpDescription = "Test";
success = advapi32.ChangeServiceConfig2(service,
WINSVC.SERVICE_CONFIG_DESCRIPTION, desc);
And now I get a scrambled (chinese characters or something)
description.
Do you define the structure within the library interface definition?
If 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.
A structure defined within a library interface definition will take
on the same type mappings as the library. In this case, if you're
using W32API.UNICODE_OPTIONS, functions are looked up using the -W
suffix, and java String is converted to a wide string.
You can also use WString to force a wide string to be used.