Questions tagged [idl]

IDL, short for Interface Description Language, is a language used to describe a software component's public interface in a programming-language-independent manner. (Not to be confused with the [idl-programming-language] tag, which is for a language used for scientific and medical image analysis)

As described on Wikipedia:

An interface description language or interface definition language (IDL), is a specification language used to describe a software component's application programming interface (API). IDLs describe an interface in a language-independent way, enabling communication between software components that do not share one language. For example, between those written in C++ and those written in Java.

IDLs are commonly used in remote procedure call software. In these cases the machines at either end of the link may be using different operating systems and computer languages. IDLs offer a bridge between the two different systems.

Software systems based on IDLs include Sun's ONC RPC, The Open Group's Distributed Computing Environment, IBM's System Object Model, the Object Management Group's CORBA (which implements OMG IDL, an IDL based on DCE/RPC), Mozilla's XPCOM, Facebook's Thrift and WSDL for Web services.

Web specifications use a special form of IDL called WebIDL: https://heycam.github.io/webidl/

558 questions
2
votes
1 answer

How to define optional field in OMG IDL struct?

Is optional field supported in IDL defined by OMG? If not, is using sequence or fixed size array to wrap it a good practice? Or just leave it to be null at the runtime without further hint at the IDL specification?
Beeno Tung
  • 1,058
  • 10
  • 17
2
votes
1 answer

Return value in IDL

I'm learning how to write C# from IDL and what I don't get is why the return value is defined in the parameter list as [out, retval]. Common sense tells me that HRESULT should be the return type but it doesn't seem to have any effect on the code in…
user8056359
  • 437
  • 1
  • 7
  • 16
2
votes
0 answers

Accessing C++ arrays passed via COM in C#

I have a legacy COM class that passes C++ array pointers without using SAFEARRAY. (It was probably implemented before that existed.) I'd like to implement an interface in C# without change the COM interface. In the IDL, the function is defined…
jsparkes
  • 161
  • 1
  • 11
2
votes
1 answer

Interfaces in C++-Header File

Im supposed to write a C++-programm that interacts with a uEye camera. For this I have to include several files, one of them being a header file that has around 30 interfaces in it that are like the one shown below. When I run a c++ programm…
J Dude
  • 21
  • 2
2
votes
1 answer

QueryInterface of out-of-proc COM server on interface imported from TLB

I define my interfaces in an A.idl file, which I compile to A.tlb In a VS2005 ATL project "B" I use importlib(A.tlb) in B.idl and #import "A.tlb" in stdafx.h and implement an interface IA from A.tlb in an ATL COM class. The project outputs a B.dll…
OndrejP_SK
  • 78
  • 6
2
votes
0 answers

Can I have FlagsAttribute applied to an enum imported from a type library?

In C# there's such thing as FlagsAttribute: [Flags] public enum Options { None = 0, Option1 = 1, Option2 = 2, Option3 = 4, } but it looks like whenever an enum is declared in IDL and gets into a type library and is later imported…
sharptooth
  • 167,383
  • 100
  • 513
  • 979
2
votes
0 answers

Which steps are needed to convert IDL to WSDL?

For my application I want to convert IDL to WSDL. For that I have used some tools like Apache CXF, Jcorba4j, CorbaXscheme and many more but I am unable to convert. How to create a WSDL from an IDL File? I have used Apache CFX for IDL to WSDL…
2
votes
1 answer

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…
joelr
  • 356
  • 1
  • 2
  • 11
2
votes
2 answers

How to specify user defined type parameters in COM interface definition?

One of my COM interface methods needs a parameter of user defined type as below: [uuid(58ADDA77-274B-4B2D-B8A6-CAB5A3907AE7), object] //Interface interface IRadio : IUnknown { ... HRESULT test_method2(someUDT* p2p_UDT); …
smwikipedia
  • 61,609
  • 92
  • 309
  • 482
2
votes
2 answers

OleView.exe can't decompile type library extracted from VB6 OCX

I'm trying to get the IDL file for the type library of a complex ActiveX control created with VB6. I tried to do this with OleView.exe on my development pc with 64-bit Win10 Pro. The x64 version of OleView simply crashes when I try to open the OCX…
TecMan
  • 2,743
  • 2
  • 30
  • 64
2
votes
1 answer

Communicating with Windows Process via RPC from a Java application

I'm looking to communicate with a windows process via RPC. The application I want to communicate with is developed in C++ using Visual Studio 2008. The application provides its interface through an idl file which is then compiled using the microsoft…
daveyc
  • 126
  • 5
2
votes
2 answers

windows installer for COM component

I have a C++ activex control that I need to make an installer for. It needs to drop the dll and make some registry keys. I have about 6 .RGS files which I made for self-registration via regsvr32, which work. To do an installer I am manually porting…
Dustin Getz
  • 21,282
  • 15
  • 82
  • 131
2
votes
0 answers

How to generate functioning Ruby client from Thrift IDL with circular reference?

My Thrift IDL has a circular reference but has no problem functioning in Java (both as a server and client). The generated code won't work in Ruby, though we've found it will work if each class is broken into a separate file & required in others. I…
jm0
  • 3,294
  • 2
  • 16
  • 18
2
votes
1 answer

error MIDL2003: Redefinition : 'x'

I'm migrating an old C++ project to Visual Studio 2013. The project contains an .odl file. When I try to build the project I'm getting the following errors: Error 3 error MIDL2025: syntax error : expecting ; near "{" C:\Program Files…
Madalin
  • 129
  • 15
2
votes
1 answer

What .NET type marshalls to COM UINT?

In C# I am declaring an interface, which will be exposed to COM for use by C++. Our spec says one integer parameter should be [in]UINT uiVal. I'm using int in C# and it is being exposed as long. It's not a big deal, but how can I force it to…
Mr. Boy
  • 60,845
  • 93
  • 320
  • 589