A MIDL használata

Az RPC-t használó programok összes felületét a Microsoft Interface Definition Language (MIDL) nyelven kell meghatározni, és a MIDL fordítóval kell lefordítani. Az alábbi témakörök rövid áttekintést adnak a MIDL-felület létrehozásáról és összeállításáról:

A témakörök részletes ismertetését az Az IDL- és ACF-fájlokcímű témakörben találja.

Interfész definiálása a MIDL használatával

A MIDL-fájlok szövegfájlok, amelyeket szövegszerkesztővel hozhat létre és szerkeszthet. Ha létrehoz egy UUID-t a felülethez, általában egy sablon MIDL-fájljában fogja tárolni a kimenetet. További információ az UUID-kről: Felhasználói felület felhasználói azonosítóinak létrehozása.

A MIDL összes felülete ugyanazt a formátumot követi. Elsőként egy fejlécet tartalmaznak, amely tartalmazza a felület attribútumainak listáját és a felület nevét. Az attribútumok szögletes zárójelek közé vannak zárva. A felület fejlécét a törzs követi, amely görbített zárójelek közé van zárva. Az alábbi példában egy egyszerű felület látható:

[
  uuid(ba209999-0c6c-11d2-97cf-00c04f8eea45),
  version(1.0)
]
interface MyInterface
{
  const unsigned short INT_ARRAY_LEN = 100;

  void MyRemoteProc( 
      [in] int param1,
      [out] int outArray[INT_ARRAY_LEN]
  );
}

A MIDL-felület definíciójában általában megjelenő attribútumok némelyike az UUID és a felület verziószáma. Az interfészdefiníció törzsének tartalmaznia kell az interfészen belüli összes távoli eljárás eljárásdefinícióját. Az interfész által igényelt adattípusok és állandók deklarációit is tartalmazhatja.

A távoli eljárás deklarációiban szereplő összes paramétert [], [ki] vagy [, ki] értékként kell deklarálni. Ezek a deklarációk azt határozzák meg, hogy az ügyfélprogram adatokat továbbít egy távoli eljárásba, adatokat kap ki egy távoli eljárásból vagy mindkettőből. Az interfészparaméter-deklarációkkal kapcsolatos részletesebb információkért lásd Az IDL interfész törzsének.

MIDL-fájl összeállítása

A MIDL fordító egy parancssori eszköz, amely automatikusan telepítve van a Platform Software Development Kittel (SDK). A parancsablakban a midlparancs beírásával, majd a parancssorban egy MIDL-fájl nevével indíthatja el. Győződjön meg arról, hogy a MIDL-fordítót tartalmazó könyvtár az elérési úton van. Az alábbi példa a használatát szemlélteti:

midl MyApp.idl

Vegye figyelembe, hogy nem kell belefoglalnia a bővítményt, ha a fájlnév .idl kiterjesztéssel rendelkezik. A MIDL fordító parancssori kapcsolóit úgy is használhatja, hogy azokat a midl parancs és a fájlnév közé szúrja be. Ezt a következő példában mutatjuk be:

midl /acf MyApp.acf MyApp.idl

Ebben a példában a MIDL-fordító a MyApp.idl fájllal lesz végrehajtva bemeneti fájlként. A parancssori kapcsoló /acf arra utasítja a fordítót, hogy a bemenethez is használjon alkalmazáskonfigurációs fájlt (ACF). Az alkalmazáskonfigurációs fájlokról részletesebben vannak kifejtve a Az IDL- és ACF-fájlokszakaszban.

A MIDL fordító használatával kapcsolatos további információkért lásd a Microsoft Interface Definition Language (MIDL), amely az alábbi témakörökre vonatkozó információkat tartalmaz: