Francois Gouget wrote:
>
> On Sat, 3 Jun 2000, Bradley Baetz wrote:
>
> > Also, is there a reason that you
> > typedef'd HDRAWDIB in vfw.h, rather than using the macro in windef.h? I
> > just copied everyone else, so I'm quite sure I've missed something
> > somewhere. Some of the HANDLE types are typedef'd in windef.h.
>
> Yes, most of the HANDLE declarations are done in windef.h but I
> don't really understand why. Since HDRAWDIB is a type specific to vfw it
> seems to make sense to declare it there.
How does windows do it? The macro also creates pointer types, which
aren't used by any of the VFW API calls, but I suppose may be useful.
[MCIWndCreate]
> I guess they don't. When I say that the DLL had three APIs I checked
> with windows and saw that they do use the usual macro for MCIWndCreate.
> So I assume that they create MCIWndCreate first and then realized that
> it should really have an A and a W version, added those but did not
> remove the original one to not cause compatibility problems. So I
> assume one is not supposed to use the old one anymore.
> Of course if one really wants to use the old one all one has to do
> is to use GetProcAddress.
>
Ah. So one is a compatability call then? I didn't realise that. In that
case those changes should be OK. The original one takes an LPVOID as the
last parameter, while the other two take an LPC{,W}STR. The win3.1 docs
I have list that function as taking an LPSTR as the last parameter,
though.
Does anyone have docs for this function? Or a program which uses it? Who
did the original stub for this, and where did they get the info from?
What does the LPVOID point to? The only thing I can think of is that the
LPVOID should maybe be an LPSTR (without the const), but I'm not sure
why an extra function would be required for that.
Thanks,
Bradley