Re: oleidl.idl must include windows.h and ole2.h if COM_NO_WINDOWS_H is not defined.
On Thu, 19 Oct 2006, Robert Shearman wrote: [...] Is there any pattern to those that are missing it? I have not found it yet. I would only expect to see the COM_NO_WINDOWS_H stuff in headers generated from IDL files with at least one interface with the object keyword. Ah, you must know more than me as I had no particular expectations. There are some counter-examples: * Bits.h contains the COM_NO_WINDOWS section, but there is no object keyword in Bits.Idl. * Dimm.h contains no COM_NO_WINDOWS section, but there are object keywords in Dimm.Idl (but in a library section, maybe that makes a difference). Counter example to the object keywords inside a 'library' don't count hypothesis: SspsIdl.Idl. Maybe this has to do with what a given Idl file #imports? (which would make testing harder :-( ) Or maybe the headers that lack the COM_NO_WINDOWS section have been manually edited by MS after being generated by midl? -- Francois Gouget [EMAIL PROTECTED] http://fgouget.free.fr/ Hiroshima '45 - Czernobyl '86 - Windows '95
Re: oleidl.idl must include windows.h and ole2.h if COM_NO_WINDOWS_H is not defined.
On Thu, 19 Oct 2006, Robert Shearman wrote: [...] Actually, in the PSDK there seems to be a correlation between COM_NO_WINDOWS_H and idl files. It's not 100% but that may be just be because they don't ship all the idl files. Also, the COM_NO_WINDOWS_H #ifdef is not present in the idl file, suggesting that it is being added by midl. Yes, this is correct. Hmm, there must still be something more: for instance amvideo.h and wtypes.h are midl generated and yet they don't have this COM_NO_WINDOWS_H stuff. Still, the 2003SP2 SDK has 231 header files generated from an Idl file, and only 44 of those are missing the COM_NO_WINDOWS_H section so it's a good first approximation. Could it depend on the imported idl files? -- Francois Gouget [EMAIL PROTECTED] http://fgouget.free.fr/ Computers are like airconditioners They stop working properly if you open WINDOWS
Re: oleidl.idl must include windows.h and ole2.h if COM_NO_WINDOWS_H is not defined.
Francois Gouget wrote: On Thu, 19 Oct 2006, Robert Shearman wrote: [...] Actually, in the PSDK there seems to be a correlation between COM_NO_WINDOWS_H and idl files. It's not 100% but that may be just be because they don't ship all the idl files. Also, the COM_NO_WINDOWS_H #ifdef is not present in the idl file, suggesting that it is being added by midl. Yes, this is correct. Hmm, there must still be something more: for instance amvideo.h and wtypes.h are midl generated and yet they don't have this COM_NO_WINDOWS_H stuff. Still, the 2003SP2 SDK has 231 header files generated from an Idl file, and only 44 of those are missing the COM_NO_WINDOWS_H section so it's a good first approximation. Could it depend on the imported idl files? Is there any pattern to those that are missing it? I would only expect to see the COM_NO_WINDOWS_H stuff in headers generated from IDL files with at least one interface with the object keyword. -- Rob Shearman
Re: oleidl.idl must include windows.h and ole2.h if COM_NO_WINDOWS_H is not defined.
Francois Gouget [EMAIL PROTECTED] writes: 2) Or modify these sections so they read: #if !defined(COM_NO_WINDOWS_H) !defined(__WINESRC__) # include windows.h # include ole2.h #endif I think we want that, otherwise we'll end up having to add COM_NO_WINDOWS_H to pretty much every single source file. -- Alexandre Julliard [EMAIL PROTECTED]
Re: oleidl.idl must include windows.h and ole2.h if COM_NO_WINDOWS_H is not defined.
Francois Gouget wrote: On Wed, 18 Oct 2006, Alexandre Julliard wrote: Francois Gouget [EMAIL PROTECTED] writes: 2) Or modify these sections so they read: #if !defined(COM_NO_WINDOWS_H) !defined(__WINESRC__) # include windows.h # include ole2.h #endif I think we want that, otherwise we'll end up having to add COM_NO_WINDOWS_H to pretty much every single source file. Actually, in the PSDK there seems to be a correlation between COM_NO_WINDOWS_H and idl files. It's not 100% but that may be just be because they don't ship all the idl files. Also, the COM_NO_WINDOWS_H #ifdef is not present in the idl file, suggesting that it is being added by midl. Yes, this is correct. -- Rob Shearman