> > 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
SynCE-Devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/synce-devel

Reply via email to