IDLの文法は、C++をもとにしています。ただし、C++にはない以下の制限があります。
関数の復帰値の型を必ず指定する必要があります。
オペレーション宣言の各パラメタには、名前を定義する必要があります。
空のパラメタリストの代わりに、voidを使用できません。
構造型(構造体、弁別情報付き共用体、列挙型)には、タグが必要です。
整数は、明示的にshort/longを宣言する必要があります。intやunsignedなどを定義できません。
charに、signed/unsignedのキーワードを付けることはできません。