Hi everybody,

it looks like that currently some things are not completely implemented in 
librapi2, which should have been according to the list of implemented things.

I am not sure who currently works on librapi, or who has the most knowledge of 
this, but currently it just is a bit too difficult for me.

As mentioned before, I got segfaults while querying all values within a given 
key. This is done with the function: CeRegEnumValue. Since there are two rapi 
directories, I first looked at what happened and under the hood, rapi2 is 
used.

When looking at rapi2.c I found the following line that clearly explains my 
segfault: 
        NULL,                             /* CeRegEnumValue */
in the definition of the rapi2_ops,
while the EnumKey is defined:
        _CeRegEnumKeyEx2,                 /* CeRegEnumKeyEx */

After this I looked in the file rapi2/registry2.c 
and there I found the defintion of 
_CeRegEnumValue2, unfortunately this was commented out. After uncommenting 
this and rebuilding the library, I found a possible reason for the 
commenting: it does not work ;)

The rapi context is filled with the request, as far as I know this is done 
correctly. After this the context_call is done and now the weird thing is 
that in the receiving buffer there are only 8 bytes present for the 
last_error and return_value variables. There should be more bytes (when 
debugging the _CeRegEnumKeyEx2 method, I can see that all result information 
is presented after these standard 8 bytes for the error/return values.


My question is, who is able to understand why this was commented out, why it 
is not working. The weird thing is that the code written for the tool 
synce-registry really assumes that the EnumValue function is working.

Hope anybody can help out with this. If more information is needed, I will try 
to provide this as good as I can :)

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