advpack: Only do_ocx_reg (and thus DllRegisterServer) from RegisterOCX when 'N' is passed as a flag. Clarify documentation.

Gerald Pfeifer gerald at pfeifer.com
Thu May 13 16:56:02 CDT 2010


On Tue, 11 May 2010, James Hawkins wrote:
> I'm very hesitant about this.  MSDN has no documentation about
> RegisterOCX, so I'm not sure how you're justifying this change.  It's
> been a long time since I worked on this, so I don't remember much, but
> I do remember testing this method and documenting the parameters
> correctly.  Where are you getting information that 'I' is required
> when using 'N'?

I had to look again, and it seems the best I managed to find is the
following:

  http://msdn.microsoft.com/en-us/library/bb759846%28VS.85%29.aspx

If you experimentally verified something differently I will be happy
to follow that.  However, I did not found the original documentation
sufficiently clear to really use it as a specification to base the
implementation on.

Specific questions I ran into were:

 - what happens if none of these are specified?
 - can the string contain more than one character? (pressumably yes?)
 - what happens if both are specified?

Would you feel more comfortable leaving the documentation as is and
me just suggesting the following?

    if(strchrW(str_flags,'I'))
        hr = do_ocx_reg(hm, TRUE);

to replace

    hr = do_ocx_reg(hm, TRUE);

?


Or would you prefer to submit a patch to clarify the documentation 
(copying me) and based on that I hack the code?  That way we'd ensure 
that the former is sufficiently clear and I assume you'll verify
whether the code matches that?


Whatever works for you as long as we make progress. :-)

Gerald



More information about the wine-devel mailing list