Sdílet prostřednictvím


Postupy: Vytváření souborů .h z metadat Windows pomocí nástrojů winmdidl.exe a midlrt.exe

Winmdidl.exe a midlrt.exe umožňují modelu COM na úrovni interakce mezi nativní kód jazyka C++ a součásti Runtime v systému Windows.Winmdidl.exe přijímá jako vstup .winmd soubor, který obsahuje metadata pro součást Windows Runtime a uloží soubor IDL.Midlrt.exe převede soubor IDL soubory hlaviček, které mohou spotřebovat kódu jazyka C++.Oba nástroje spustit v příkazovém řádku.

Pomocí těchto nástrojů v dva hlavní scénáře:

  • Vytvoření vlastní IDL a hlavičkové soubory tak, aby aplikace C++, napsané pomocí Windows Runtime šablonu knihovny (WRL) mohou spotřebovávat vlastní součást Windows Runtime.

  • Generování proxy a se zakázaným inzerováním soubory typů události definované uživatelem v Runtime součásti systému Windows.Další informace naleznete v tématu Raising Events in Windows Runtime Components.

Tyto nástroje jsou požadovány pouze pro analýzu souborů vlastní .winmd.Pro vás již vznikají IDL a .h soubory pro součásti operačního systému Windows.Ve výchozím nastavení v Windows 8.1, se nacházejí v \Program Files (x 86) \Windows Kits\8.1\Include\winrt\.

Umístění nástroje

Ve výchozím nastavení v Windows 8.1, winmdidl.exe a midlrt.exe jsou umístěny v C:\Program Files (x 86) \Windows Kits\8.1\.Verze nástroje jsou k dispozici také ve složce \bin\x86\ a \bin\x64\.

Argumenty příkazového řádku Winmdidl

Winmdidl.exe [/nologo] [/supressversioncheck] [/time] [/outdir:dir] [/banner:file] [/utf8] Winmdfile

  • /nologo
    Zabrání zobrazení konzoly winmdidl zprávu o autorských právech a číslo verze.

  • /supressversioncheck
    Nepoužito.

  • /time
    Zobrazí celkovou dobu provádění v výstup konzoly.

  • /OutDir:<dir>
    Určuje cílový adresář.Pokud cesta obsahuje mezery, použijte uvozovky.Výchozí výstupní adresář je <drive>: \Users\<username>\AppData\Local\VirtualStore\Program Files (x 86) \Microsoft Visual Studio 12.0\.

  • /banner:<file>
    Určuje soubor, který obsahuje vlastní text řetězec výchozí zprávu o autorských právech a číslo verze winmdidl v horní části generovaného .idl souboru.Pokud cesta obsahuje mezery, použijte uvozovky.

  • /utf8
    Způsobí, že soubor má být formátován jako UTF-8.

  • Winmdfile
    Název .winmd souboru k analýze.Pokud cesta obsahuje mezery, použijte uvozovky.

Argumenty příkazového řádku Midlrt

Viz MIDLRT a Windows Runtime součásti.

Příklady

Následující příklad ukazuje winmdidl příkazu v příkazovém řádku Visual Studio x 86.Určuje cílový adresář a soubor, který obsahuje speciální nápis doplnit generovaného .idl souboru.

C:\Program Files (x86)\Microsoft Visual Studio 12.0>winmdidl /nologo /outdir:c:\users\giraffe\documents\ /banner:c:\users\giraffe\documents\banner.txt "C:\Users\giraffe\Documents\Visual Studio 2013\Projects\Test_for_winmdidl\Debug\Test_for_winmdidl\test_for_winmdidl.winmd"

Následující příklad ukazuje zobrazení konzoly z winmdidl, který označuje, že operace byla úspěšná.

Generating c:\users\giraffe\documents\\Test_for_winmdidl.idl

Dále se midlrt systémem vygenerovaný soubor IDL.Všimněte si, že metadata_dir za název souboru není zadán argument.Cesta \WinMetadata\ je vyžadován, je umístění windows.winmd.

C:\Program Files (x86)\Microsoft Visual Studio 12.0> midlrt "c:\users\mblome\documents\test_for_winmdidl.idl" /metadata_dir "C:\Windows\System32\WinMetadata"

Poznámky

Výstupní soubor z winmdidl operace má stejný název jako vstupní soubor ale má příponu názvu souboru .idl.

Pokud vyvíjíte Windows Runtime komponentu, která bude přístupná od WRL, můžete zadat winmdidl.exe a midlrt.exe pro spuštění jako post-build kroky tak, aby soubory .idl a h jsou generovány při každém sestavení.Příklad naleznete v tématu Raising Events in Windows Runtime Components.