On Wed, 2007-12-12 at 13:44 +0100, David Eriksson wrote: > > On Wed, 2007-12-12 at 08:20 +0000, Mark Ellis wrote: > > Time to contradict myself. > > > > I said that last error wasn't returned by these functions. Well it does > seem to always be zero, but I need to read it because the return value > is definitely second in the buffer. This becomes obvious when stuck in > an infinite loop when you're certain you're checking for > > ERROR_NO_MORE_ITEMS :) > > > > I'm still a uint32 short in the buffer, so what seems most likely is > that the device does not return, in the case of enumvalue, the size of > the name string, we're left to figure that out. Same applies to infokey > with regard to the class name. > > > > Anyone see any glaring errors in my reasoning ? > > Is that with or without the following line enabled? Because it will eat at > least four bytes and I'm quite certain that it should not be there: > > rapi_buffer_read_optional_uint32(context->recv_buffer, lpReserved); > > > Regards, > > \David
I've disabled that line, it did indeed seem to be the problem. I've done the same thing in enumvalue, definitely helps, don't seem to be quite there yet. Mark ------------------------------------------------------------------------- SF.Net email is sponsored by: Check out the new SourceForge.net Marketplace. It's the best place to buy or sell services for just about anything Open Source. http://ad.doubleclick.net/clk;164216239;13503038;w?http://sf.net/marketplace _______________________________________________ SynCE-Devel mailing list SynCE-Devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/synce-devel