midl

MIDL2035 error: Constant expression expected for mshtml.idl for IFilter

Hi I am trying to execute the Filter sample which comes with Windows Search 3.x sdk. I am getting below MIDL2035 errors, saying Constant expression expected. Thanks for the help. Mitech. ...

ATL and types from scrrun.dll

Hello. I have interface in ATL project which must contains member with parameter of Scripting::IDictionary** but in MIDL file with description of my interface it's not possible because Scripting library is not presented in default library. I always have scrrun.tlb and trying to use it in MIDL but it's not work Code is here: midl-code ...

MIDL (Constant) References

Are there no constant references in MIDL method declarations???? eg. [id(1), helpstring("My Method")] HRESULT MyMethod( [in] IID & const rclsid ); for HRESULT MyMethod( IID const &rclsid ); ...

VARENUM declared but not typedef :/

I want to use VARENUM in my IDL in a struct but it was not typedef in wtypes.idl so I can't use?? I thought maybe if I import the header but it causes redefinition conflicts???? Sticks and stones :\ [edit] VARTYPE seems to be used in place but is that not a typesafety issue thing??? Also this is COM not .NET o~o ...

Error in ATL Project generated header with importlib

I need to importlib a VB6 dll for consumption by an ATL component. I'm not able to use the MIDL import keyword for various reasons. I'm getting a C2061 error in my project in the generated header file (test_i.h) : syntax error: identifier '_MyDataType'. My idl file is import "oaidl.idl"; import "ocidl.idl"; [ uuid(8BB809C6-B5EC-48B1-9...

MIDL Complex Types As Interface Method Parameters

I would like to know if maybe there are some good solutions to handling complex types not importable into IDL. My biggest concern is using _m128 vector types for simmed instructions ie. XMVECTOR. __declspec is not recognized by the midl compiler so importing the __m128 data type is out of the question. I looked into using wire_marshal...

How does Visual Studio determine the order to compile IDL files?

I have a COM project that contains a number of IDL files, some of which are imported into other ones. How does Visual Studio decide which ones to compile (using MIDL) first? I want to control the order. I have a master IDL file which contains my library declaration with several imports, and I get a build error if it is not the first one...

MIDL compilation error (and maybe idl file generation question).

We're looking into moving our application from VS2008 to VS2010. We generate some COM objects with "attributed programming" and the IDL is automatically generated. The import directives for both files are different and the compilation fails on VS2010. on VS2008, it generates something like : import "docobj.idl"; on VS 2010 impo...

Managing definitions in a COM type library with a lot of IDL interfaces

I'm creating a COM type library with over one hundred interfaces. Defining all of the interfaces and coclasses in a single library is unreasonable... the IDL file becomes thousands of lines long! So I'm trying the idea of putting each interface in its own file, and using imports to satisfy its dependencies. What strategies can I use to ...

Importing interfaces in IDL from an external type library

I have two type libraries with COM interfaces that I wrote using ATL and Microsoft's IDL. I would like an interface in one library to inherit from an interface in the other. Essentially, I would like to do the same thing that Steven described at How do I create interface methods using .tlb types in VS C++?. The only person who answered ...

Prevent recompilation of oaidl.idl and ocidl.idl

I have a COM/ATL project with a number of IDL files. Most of these IDL files import oaidl.idl and ocidl.idl. Whenever I compile my project, Visual Studio calls MIDL to recompile oaidl.idl and ocidl.idl... every single time it encounters the imports. These two IDL files end up getting recompiled multiple times, making project compilation...

How do I prevent Visual Studio from recompiling IDL files?

The MIDL compiler is invoked every time the IDL-file's timstamp is changed. Is there a way to prevent Visual Studio from automatically invoking the MIDL compiler although the IDL-file has been changed? Is there a setting in the project parameters to tell VS wether IDL recompiles should be done or not? Making a rebuild due to changes in...

Issues Using Midl to create a .tlb from .idl "expecting a type specification"

Hi all, I have been having a prolonged encounter with the beast known as COM Interop... I am currently trying to generate a .tlb from a .idl file generated by the OLE/COM Object Viewer. However when trying to run Midl.exe to compile it I get an error: .\Sim.API.IDL(236) : error MIDL2025 : syntax error : expecting a type s pecificatio...

Merging two .IDL files or two .tlb files into one file.

Hi all, I have 2 .net dll's which I expose to COM using REGASM. In order to simplify referencing within a COM client I would like to make these into one file. I have tried converting both files to IDL and then copying the contents of the Library section of one into the other and then compiling back to .tlb with MIDL. This works fine fo...

VB6 cannot see interface with indexed property

I've created a simple type library with an interface which has an indexed property in it: [ uuid(EAC3FABB-2A00-4A91-BF80-F0CE394A648F), dual, oleautomation ] interface MyInterface1: IDispatch { [propget, id(0x000000C9)] HRESULT _stdcall Property1([in] VARIANT Index, [out, retval] short* Value); [propput, id(0x000000C9)] HR...

Any way to resolve C4772 errors without having to register DLLs?

I am maintaining a VS2010 project which has a number of cross-referenced COM libraries. I am trying to configure the project in such a way that it is buildable from a random workstation which has VS2010 installed. The workstation could be both 32 and 64 bit, so if I configure project to "register output", the build will fail to build on ...

Are Visual Studio 6 typelibs handled differently in Visual Studio 2008 under Vista and 7?

I have written a standard DLL in Visual Studio 6 C++. I have also written a typelib to go with it so that it can be used directly in VB6 rather than via Declare. It works fine in VB6 under Windows XP. What doesn't work is when I take the DLL and the TLB into Vista and Windows7. There the .TLB registers fine with REGTLIB but the only ...