Udostępnij za pośrednictwem


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.