Sdílet prostřednictvím


Použití MIDL

Všechna rozhraní pro programy používající RPC musí být definována v jazyce MIDL (Microsoft Interface Definition Language) a kompilována pomocí kompilátoru MIDL. Následující témata představují stručný přehled vytváření a kompilace rozhraní MIDL:

Podrobnou diskuzi o těchto tématech najdete v tématu IDL a soubory ACF.

Definování rozhraní pomocí MIDL

MIDL soubory jsou textové soubory, které můžete vytvářet a upravovat pomocí textového editoru. Pokud pro rozhraní vygenerujete UUID, obvykle uložíte výstup do souboru MIDL šablony. Další informace o identifikátorech UUID naleznete v tématu Generování identifikátorů UUID rozhraní.

Všechna rozhraní v MIDL mají stejný formát. Začínají hlavičkou, která obsahuje seznam atributů rozhraní a název rozhraní. Atributy jsou uzavřeny v hranatých závorkách. Za záhlavím rozhraní následuje jeho tělo, které je uzavřeno ve složených závorkách. Jednoduché rozhraní je znázorněno v následujícím příkladu:

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

Některé atributy, které se obvykle zobrazují v definici rozhraní MIDL, jsou UUID a číslo verze rozhraní. Tělo definice rozhraní musí obsahovat deklarace procedur všech vzdálených procedur v rozhraní. Může také obsahovat deklarace datových typů a konstant vyžadovaných rozhraním.

Všechny parametry v deklarací vzdálené procedury musí být deklarovány jako [v], [out], nebo [v, out]. Tyto deklarace určují, že klientský program předává data do vzdálené procedury, získá data ze vzdálené procedury nebo obojí. Podrobnější informace o deklaracích parametrů rozhraní naleznete v tématu IDL Interface Body.

Kompilace souboru MIDL

Kompilátor MIDL je nástroj příkazového řádku, který se automaticky nainstaluje se sadou SDK (Platform Software Development Kit). Vyvoláte ho v příkazovém okně zadáním příkazu midlnásledovaný názvem souboru MIDL na příkazovém řádku. Ujistěte se, že adresář obsahující kompilátor MIDL je ve vaší cestě. Následující příklad ukazuje jeho použití:

midl MyApp.idl

Všimněte si, že pokud název souboru má příponu .idl, nemusíte příponu zahrnout. Kompilátor MIDL můžete také použít přepínače příkazového řádku tak, že je vložíte mezi příkaz midl a název souboru. To je znázorněno v následujícím příkladu:

midl /acf MyApp.acf MyApp.idl

V tomto příkladu se kompilátor MIDL spustí pomocí souboru MyApp.idl jako vstupního souboru. Přepínač příkazového řádku /acf dává kompilátoru pokyn, aby pro vstup používal konfigurační soubor aplikace (ACF). Konfigurační soubory aplikace jsou podrobněji popsány v IDL a ACF Files.

Podrobnější informace o použití kompilátoru MIDL naleznete v jazyka MIDL (Microsoft Interface Definition Language), který obsahuje informace o následujících tématech: