> > If you could provide me some info of what exactly goes wrong I might be
> > able to figure out what is causing the errors in your case. (Problem is
> > that I don't have WM2003 device, only WM6....)
>
> Short answer is error code 31 from CeRegEnumValue in list_key() using
> synce-registry tool.
Is enumKey working without a problem and the problem only occurs with
enumValue? Could you test that one? Because enumkey was also already
implemented in rapi2, I only worked on enumValue and QueryInfo.
> I think there may actually be a problem with CeRegQueryInfoKey and
> CeRegEnumValue (in registry tool) in rapi1, the results I got back from
> a bit of testing were unexpected. In fact I've written myself a reminder
> comment in my gtk registry tool about CeRegEnumValue not being reliable.
As mentioned before, the thing that struck me is the fact that you write all
kinds of things with optional things etc. Furthermore, you send things like
the actual lpszValueName over the line (line 225 and 226 in registry.c). The
idea I had when implementing the function in rapi2 is that you only want to
tell what the size of buffers is that you have such that the device knows
whether to send you the information or not. Maybe not even that. It could be
that you only have to supply the handle to the key (and optionally the
dwIndex) and that you will always get all information. I would have to test
some more things for that also.
>
> I've had a quick look, I don't really know enough about rapi though,
> want to give me any tips from when you fixed the rapi2 versions ?
Hope you understood the above lines :) I want to point you to the extra debug
routines I implemetned in rapi_buffer.c though:
rapi_buffer_debug_dump_buffer
and
rapi_buffer_debug_dump_buffer_from_current_point
You supply it with either the context->recv_buffer or the context->send_buffer
and a char* as a description and it will print out the current recv or send
buffer. This helped me a lot to figure out the problems with the read_string
method. The second method only is useful with the receiving buffer, since you
can call this after each rapi_buffer_read_* and it will dump the buffer from
the active index.
Regards,
Guido Diepen
--
Aviation is proof that given the will, we have the
capacity to achieve the impossible.
--Eddie Rickenbacker
-------------------------------------------------------------------------
SF.Net email is sponsored by: The Future of Linux Business White Paper
from Novell. From the desktop to the data center, Linux is going
mainstream. Let it simplify your IT future.
http://altfarm.mediaplex.com/ad/ck/8857-50307-18918-4
_______________________________________________
SynCE-Devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/synce-devel