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.