Porady: Użyj winmdidl.exe i midlrt.exe, aby utworzyć pliki .h z metadanych systemu Windows
Winmdidl.exe i midlrt.exe umożliwiają interakcję na poziomie COM między natywnym kodem C++ a składnikami środowisko wykonawcze systemu Windows. Plik Winmdidl.exe przyjmuje jako dane wejściowe pliku winmd zawierającego metadane składnika środowisko wykonawcze systemu Windows i wyprowadza plik IDL. Plik IDL midlrt.exe konwertuje na pliki nagłówkowe, które może wykorzystywać kod C++. Oba narzędzia są uruchamiane w wierszu polecenia.
Te narzędzia są używane w dwóch głównych scenariuszach:
Tworzenie niestandardowych plików IDL i nagłówków, dzięki czemu aplikacja języka C++ napisana przy użyciu biblioteki szablonów środowisko wykonawcze systemu Windows (WRL) może korzystać z niestandardowego składnika środowisko wykonawcze systemu Windows.
Generowanie plików proxy i wycinków dla typów zdarzeń zdefiniowanych przez użytkownika w składniku środowisko wykonawcze systemu Windows. Aby uzyskać więcej informacji, zobacz Niestandardowe zdarzenia i metody dostępu zdarzeń w składnikach środowisko wykonawcze systemu Windows.
Te narzędzia są wymagane tylko do analizowania niestandardowych plików winmd. Pliki .idl i .h dla składników systemu operacyjnego Windows są już generowane. Domyślnie w systemie Windows 8.1 znajdują się one w \Program Files (x86)\Windows Kits\8.1\Include\winrt\.
Lokalizacja narzędzi
Domyślnie w systemie [Windows 8.1 winmdidl.exe i midlrt.exe znajdują się w folderze C:\Program Files (x86)\Windows Kits\8.1\. Wersje narzędzi są również dostępne w folderach \bin\x86\ i \bin\x64\.
Argumenty wiersza polecenia winmdidl
Winmdidl.exe [/nologo] [/suppressversioncheck] [/time] [/outdir:dir] [/banner:file] [/utf8] Winmdfile
/nologo
Uniemożliwia wyświetlanie konsoli komunikatu o prawach autorskich winmdidl i numeru wersji.
/suppressversioncheck
Nie używany.
/Czas
Wyświetla łączny czas wykonywania w danych wyjściowych konsoli.
/outdir:dir
Określa katalog wyjściowy. Jeśli ścieżka zawiera spacje, użyj cudzysłowów. Domyślny katalog wyjściowy to <drive>:\Users\<username>\AppData\Local\VirtualStore\Program Files (x86)\Microsoft Visual Studio 12.0\.
/banner:file
Określa plik zawierający niestandardowy tekst, który ma poprzedzać domyślny komunikat o prawach autorskich i numer wersji winmdidl w górnej części wygenerowanego pliku idl. Jeśli ścieżka zawiera spacje, użyj cudzysłowów.
/utf8
Powoduje sformatowanie pliku jako UTF-8.
Winmdfile
Nazwa pliku winmd do analizy. Jeśli ścieżka zawiera spacje, użyj cudzysłowów.
Argumenty wiersza polecenia midlrt
Zobacz Składniki MIDLRT i środowisko wykonawcze systemu Windows.
Przykłady
Poniższy przykład przedstawia polecenie winmdidl w wierszu polecenia programu Visual Studio x86. Określa katalog wyjściowy i plik zawierający specjalny tekst transparentu, który ma zostać dodany do wygenerowanego pliku 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 ekran konsoli z winmdidl, który wskazuje, że operacja zakończyła się pomyślnie.
Generowanie c:\users\giraffe\documents\\Test_for_winmdidl.idl
Następnie aplikacja midlrt jest uruchamiana w wygenerowanych plikach IDL. Zwróć uwagę, że argument metadata_dir jest określony po nazwie pliku idl. Ścieżka \WinMetadata\ jest wymagana — jest to lokalizacja pliku windows.winmd.
C:\Program Files (x86)\Microsoft Visual Studio 12.0> midlrt "c:\users\username\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ładnik środowisko wykonawcze systemu Windows, do którego będzie uzyskiwany dostęp z listy WRL, możesz określić winmdidl.exe i midlrt.exe do uruchomienia jako kroki po kompilacji, aby pliki idl i h były generowane na każdej kompilacji. Aby zapoznać się z przykładem, zobacz Podnoszenie zdarzeń w składnikach środowisko wykonawcze systemu Windows.
Opinia
https://aka.ms/ContentUserFeedback.
Dostępne już wkrótce: W 2024 r. będziemy stopniowo wycofywać zgłoszenia z serwisu GitHub jako mechanizm przesyłania opinii na temat zawartości i zastępować go nowym systemem opinii. Aby uzyskać więcej informacji, sprawdź:Prześlij i wyświetl opinię dla