IDL Open Software Foundation Distributed Computing Environment Remote Procedure Call (OSF DCE RPC). DCE IDL . IDL , (transparently), , . IDL , , DCE IDL - ( , , ). , 1 , - MS-RPC ( DCE RPC, Windows NT Windows 95) .
Win32 SDK IDL. , IDL (artifacts). . 2.1, MIDL C/C++ , , , IDL- .
, (structure-based definitions), - , IDL, . , MIDL / ++- , , - C++ . , . MIDL , , . 5. , MIDL , , , , IDL- , . (type library) IDL . , Visual Basic, Java, Object Pascal , .
IDL, . . , , . ( , vtbl, ). ( , , ) .
IDL , . IDL , , , . IDL IDL: , . , . , IDL-
[ v1_enum, helpstring("This is a color!") ] enum COLOR { RED, GREEN, BLUE };
v1_enum (enumeration) COLOR. IDL , COLOR 32 , 16, . helpstring L R "This is a color!" (" !") . IDL- , , . IDL , , , , (typedef) , .
IDL, , . [in] [out]:
void Method1([in] long arg1, [out] long *parg2, [in, out] long *parg3);
IDL , arg1 , parg3. , parg2 parg3. , :
long arg2 = 20, arg3 = 30; p->Method1(10, &arg2, &arg3);
20 parg2. , , C++, *parg2 20. , (out-only) , .
1 (execution context) , , (apartment). ; . 5.