Porady: Użyj winmdidl.exe i midlrt.exe, aby utworzyć pliki .h z metadanych systemu Windows
Winmdidl.exe i midlrt.exe umożliwiają COM-poziom interakcji między macierzystego kodu C++ i składników systemu Windows w czasie wykonywania.Trwa Winmdidl.exe jako dane wejściowe plik .winmd, który zawiera metadane dla składnika obsługi Windows i wyprowadza plik IDL.Midlrt.exe konwertuje ten plik IDL pliki nagłówkowe zużywających kodu C++.Oba narzędzia uruchamiane w wierszu polecenia.
Za pomocą tych narzędzi w dwóch głównych scenariuszy:
Tworzenie niestandardowy IDL i plików nagłówkowych, tak aby aplikacji C++, napisane przy użyciu biblioteki szablonów Runtime systemu Windows (WRL) może wykorzystać niestandardowy składnik Windows Runtime.
Generowanie plików serwera proxy i skrótowych typy zdarzeń zdefiniowane przez użytkownika w składniku Runtime systemu Windows.Aby uzyskać więcej informacji, zobacz Raising Events in Windows Runtime Components.
Te narzędzia są wymagane tylko dla analizy plików niestandardowych .winmd.Pliki .idl i .h dla składników systemu operacyjnego Windows już są generowane automatycznie.Domyślnie w Windows 8,1, znajdują się one w \Program Files (x 86) \Windows Kits\8.1\Include\winrt\.
Lokalizacja narzędzi
Domyślnie w Windows 8,1, winmdidl.exe i midlrt.exe są zlokalizowane w \Windows Kits\8.1\ C:\Program Files (x 86).Wersje narzędzia są dostępne również w folderach \bin\x86\ i \bin\x64\.
Argumenty wiersza polecenia Winmdidl
Winmdidl.exe [/nologo] [/supressversioncheck] [/time] [/outdir:dir] [/banner:file] [/utf8] Winmdfile
/nologo
Wyłącza wyświetlanie konsoli winmdidl komunikat o prawach autorskich oraz numeru wersji./supressversioncheck
Nie używany./time
Wyświetla całkowity czas wykonania w konsoli dane wyjściowe./outdir:<dir>
Określa katalog wyjściowy.Jeżeli ścieżka zawiera spacje, użyj znaków cudzysłowu.Domyślny katalog wyjściowy jest <drive>: \Users\<username>\AppData\Local\VirtualStore\Program Files (x 86) \Microsoft 12.0\ programu Visual Studio./banner:<file>
Określa plik, który zawiera niestandardowy tekst dołączana do domyślny komunikat o prawach autorskich oraz numeru wersji winmdidl u góry pliku wygenerowanego .idl.Jeżeli ścieżka zawiera spacje, użyj znaków cudzysłowu./utf8
Powoduje, że plik zostanie sformatowany jako UTF-8.Winmdfile
Nazwa pliku .winmd do analizy.Jeżeli ścieżka zawiera spacje, użyj znaków cudzysłowu.
Argumenty wiersza polecenia Midlrt
Zobacz MIDLRT i obsługi Windows składników.
Przykłady
W poniższym przykładzie polecenia winmdidl w wierszu polecenia programu Visual Studio x 86.Określa katalog docelowy i plik, który zawiera tekst transparentu specjalne, aby dodać do pliku wygenerowanego .idl.
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"
W następnym przykładzie pokazano wyświetlanie konsoli z winmdidl, która wskazuje, że operacja zakończyła się pomyślnie.
Generating c:\users\giraffe\documents\\Test_for_winmdidl.idl
Następnie w wygenerowanym pliku IDL prowadzony jest midlrt.Należy zauważyć, że metadata_dir argument zostanie określony po nazwie pliku .idl.Wymagana jest ścieżka \WinMetadata\ — to jest lokalizacja dla 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"
Uwagi
Plik wyjściowy z operacji winmdidl ma taką samą nazwę jak plik wejściowy, ale ma rozszerzenie nazwy pliku .idl.
Jeśli tworzysz składnika Windows Runtime, który będzie dostępny w światowym laboratorium referencyjnym, można określić winmdidl.exe i midlrt.exe uruchomienie jako kroki po kompilacji, tak aby na każdym kompilacji są generowane pliki .idl i .h.Aby zobaczyć przykład, zobacz Raising Events in Windows Runtime Components.