idl

Changing a CORBA interface without recompiling

I'd like to add a method to my existing server's CORBA interface. Will that require recompiling all clients? I'm using TAO. ...

Creating IDL for MAPI-MIME conversion.

I'm trying to create the IDL for the IConverterSession interface and I'm confused by the definition of the MIMETOMAPI method. It specifies the LPMESSAGE pmsg parameter as [out] yet the comments state its the pointer to the MAPI message to be loaded. Its unclear to me whether the functions allocates the MAPI message object and sets the p...

What sorts of simple IDL parsers / code generators are available for C / C++ code?

For a project I'm working on, I need to have a lot of source code files generated from an interface description. That description is currently IDL (really, a pidgin IDL-like language), but I'm not married to it and am willing to consider alternatives. What sorts of code generators are available that can take IDL (or something like it) ...

IDL enumeration not displayed in type library

I have a COM object written using the MS ATL library. I have declared a bunch of enumerations in the IDL but they do NOT appear when viewing the type library using the MS COM Object Viewer tool. The problem seems to be that the missing enums are not actually used as parameters by any of the COM methods - how can I force these enums to ...

__REQUIRED_RPCNDR_H_VERSION__

I create a header file from an IDL . The IDL file has been compiled in Visual C++ 2005 . The generated header file contains #define REQUIRED_RPCNDR_H_VERSION 475 . I tried to use this header file in Visual Studio 2003 , where rpcndr.h contains { #define RPCNDR_H_VERSION ( 450 ) // and #if ( RPC...

IDL declaration (in C++) for a function that will take a C-style array from C#

I am working with an existing code base made up of some COM interfaces written in C++ with a C# front end. There is some new functionality that needs to be added, so I'm having to modify the COM portions. In one particular case, I need to pass an array (allocated from C#) to the component to be filled. What I would like to do is to be ...

Using C++ COM interface in C# for both client and server

Hi all, I need to make a piece of C# code interact through COM with all kinds of implementations. To make it easeier for users of that integration, I included the interacted interfaces in IDL (as part of a relevant existing DLL, but without coclass or implementation), then got that into my C# code by running Tlbimp to create the types ...

Microsoft MIDL does not report an error if a typedef uses an unknown type, is it a bug?

I would like to know whether I am missing something: //this is test.idl typedef foo foo_t; // end of test.idl When I compile test.idl with the following command: midl /W4 test.idl I get this output Microsoft (R) 32b/64b MIDL Compiler Version 6.00.0366 Copyright (c) Microsoft Corporation 1991-2002. All rights reserved. Processing ....

Defining a pure base class using IDL

When I define an interface in IDL which does not derive from anything, the MIDL precompiler warns as such (Visual C++ 2008) : warning MIDL2271 : [object] interfaces must derive from another [object] interface such as IUnknown (...) And if I derive my interface from another which does not derive from IUnknown, MIDL fails : error ...

No type definitions in pre-defined IDL FILE

Firstly, Using plain C++, without ATL, MFC attempting to use COM Object interface. Using oleview (OLE/COM Object viewer) - used to engineer the IDL code. At this stage, using MIDL Compiler, now I'm having trouble trying to produce the following: Syntax on cmd line: midl /nologo /env win32 /tlb ".\S8_.tlb" /h ".\S8_.h" /iid ".\S8_i.c...

Editing the IDL created by OLE view for a C++ component

What things do I need to consider when doing this: What to remove/manipulate/add Regards ...

How to write a code generator given a custom IDL?

If you have a simple enough schema with basic boolean string fields, how to go about writing a code generator in C++. If you ever wrote , how did you start. Articles/recommendation welcome. EDIT: Note that this is not the standard CORBA idl. ...

IDL, ODL, MIDL, DLLs but not COM if I can help it.

Using Matt Curland's Type Library Editor, I wrote a Typelib for Nick Yakowlew's Charset Detector Library. This is a standard DLL (written in Delphi as it happens) and not a COM DLL at all. Up until this point I had been building ODL and thus TLB files "by hand". The benefit of this was that I could get Intellisense working in Visual Stu...

What is IDL ?

What is meant by IDL? I have googled it, and found out it stands for Interface Definition Language, which is used for interface definition for components. But, in practice, what is the purpose of IDL? Does Microsoft use it? ...

midl error 2025 when compiling idl file on win32 (midl doesn't like string<40>)

The idl files I have compile fine with linux tools, but when I try to compile using midl I get an error error MIDL2025 : syntax error : expecting a declarator or * near "<" the line is: typedef string<40> somestring; Is this non-standard idl, or am I missing something? Is there a switch for midl to allow this? I wish I coul...

What's the purpose of noncreatable coclasses in IDL?

What is the reason for declaring noncreatable coclasses like the following in IDL? [ uuid(uuidhere), noncreatable ] coclass CoClass { [default] interface ICoClass; }; I mean such class will not be registered to COM anyway. What's the reason to mention it in the IDL file and in the type library produced by compiling that ID...

Why is it necessary to add new events to the *end* of an IDL interface?

I have found that when I add new events to an existing COM/IDL interface, I sometimes run into strange issues unless they are added to the end of the interface. For example, say I have the following interface: interface IMyEvents { HRESULT FooCallback( [in] long MyParam1, [in] long MyParam2, [in] long MyPara...

is there a way to have midl generate each interface in a separate .h ?

I have a bunch of objects that inherit abstracts interfaces generated from an idl file. Each object that use of theses interfaces include the same file interfaces.h which contain all the c++ generated abstract classes that map to the idl interface. Each time I change anything into interfaces.idl every classes that depend on this have to...

How to prevent coclass implementations from being exposed in an ATL type library

I am building an ATL type library with a type of class factory. Something sorta like this: [ object, uuid(...), ... ] interface INumber : IDispatch { [propget, id(0)] HRESULT Value([out, retval] LONG* pVal); } [ object, uuid(...), ... ] interface INumberFactory : IDispatch { [id(1)] HRESULT GetNumber([in] BSTR numberName, [out,...

How do you express a int[] property in interface description language?

How would you implement this property in IDL: public int[] Params { get { return _Params; } set { _Params = value; } } I tried the idl code below [propget, helpstring("The click through parameters")] HRESULT Params([out, retval] int *rVal); [pro...