Az IDL-fájl
Az IDL-fájl egy vagy több felületdefinícióból áll, amelyek mindegyike fejléctel és törzstel rendelkezik. A fejléc olyan információkat tartalmaz, amelyek a teljes felületre vonatkoznak, például az UUID-ra. Ezt az információt szögletes zárójelek közé kell foglalni, és a felület kulcsszó és a felület neve követi. A törzs C típusú adattípus-definíciókat és függvény-prototípusokat tartalmaz, amelyeket attribútumokkal egészítettek ki, amelyek az adatok hálózaton keresztüli átvitelét írják le.
Ebben a példában a felület fejléce csak az UUID-t és a verziószámot tartalmazza. A verziószám biztosítja, hogy egy RPC-felület több verziója esetén csak az ügyfél és a kiszolgáló kompatibilis verziói legyenek csatlakoztatva.
A felület törzse tartalmazza HelloProcfüggvény prototípusát. Ebben a prototípusban a pszString függvényparaméter [] és [sztring]attribútumokkal rendelkezik. A [in] attribútum azt jelzi a futásidejű kódtárnak, hogy a paraméter csak az ügyféltől továbbítja a kiszolgálónak. A [sztring] attribútum azt határozza meg, hogy a csonknak C stílusú karaktersztringként kell kezelnie a paramétert.
Az ügyfélalkalmazásnak képesnek kell lennie a kiszolgálóalkalmazás leállítására, így a felület egy másik távoli függvény prototípusát tartalmazza,Leállítás, amely az oktatóanyag későbbi részében lesz implementálva.
//file hello.idl
[
uuid(7a98c250-6808-11cf-b73b-00aa00b677a7),
version(1.0)
]
interface hello
{
void HelloProc([in, string] unsigned char * pszString);
void Shutdown(void);
}