Megosztás a következőn keresztül:


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);
}