But when i see the generated header file. I see that there is the expansion of interfaces defined in the foo.idl if we include it in foobar.idl eg: foobar.idl #include "foo.idl"
For further reference see the msxml.idl in the PSDK headers. it includes xmldom.idl and xmldso.idl, but in the msxml.h we see all the declarations in xmldso.h and xmldom.h I dont know they(M$) generate msxml.h from msxml.idl On 8/29/06, Dan Hipschman <[EMAIL PROTECTED]> wrote:
On Tue, Aug 29, 2006 at 05:53:20PM -0400, Vijay Kiran Kamuju wrote: > I am cleaning up msxml*.idl files. > It seems that msxml.idl and msxml2.idl are incompatible. > msxml.idl includes xmldso.idl and xmldom.idl (eg: include "xmldso.idl") > where as msxml2.idl explicitly declares the interface defined by > xmldso.idl and xmldom.idl. > This is done so that we there would be no clashes beteen msxml2.0 and > msxml3.0 implementation. > As in msxml2.0 and msxml3.0 there were some GUID changes. > Does MIDL put the expansion of the included idl file. > ie, in a.idl we have a line include "b.idl" > what i want ask is does a.h will contain all the contents of b.h(b.h > is output when we run midl on b.idl) when we run midl on a.idl. > > I want to generalize the msxml implementation. Sure, it runs a C-style preprocessor on it, so #include should work. Just note that #include <foo.idl> will look for foo.idl in predefined locations, while #include "foo.idl" will look in those and the current directory. You can add to the list of locations that #include <foo.idl> will look with the usual "widl -I/dir1 -I/dir2 ..." syntax.