Windows-Apps
Inhaltsverzeichnis reduzieren
Inhaltsverzeichnis erweitern
Informationen
Das angeforderte Thema wird unten angezeigt. Es ist jedoch nicht in dieser Bibliothek vorhanden.

Windows Runtime C++ Template Library (WRL)

 

Die neueste Dokumentation zu Visual Studio 2017 finden Sie unter Dokumentation zu Visual Studio 2017.

Die Windows Runtime C++ Template Library (WRL) ist eine Vorlagenbibliothek, die eine Low-Level-Methode für die Erstellung und Verwendung von Windows-Runtime -Komponenten bereitstellt.

Die WRL erleichtert Ihnen die Implementierung und Nutzung von COM-Komponenten (Component Object Model). Sie stellt Verwaltungstechniken wie die Verweiszählung bereit, mit der die Lebensdauer der Objekte verwaltet wird, oder wie Tests von HRESULT -Werten, mit denen festgestellt wird, ob ein Vorgang erfolgreich war oder einen Fehler verursacht hat. Zur erfolgreichen Verwendung der WRLmüssen die folgenden Regeln und Techniken sorgfältig beachtet werden.

Die Komponentenerweiterungen für Visual C++ (C++/CX) ist eine sprachbasierte High-Level Methode zur Verwendung von Windows-Runtime -Komponenten. Sowohl WRL als auch C++/CX vereinfachen die Verfassung von Code für die Windows-Runtime , da Verwaltungsaufgaben automatisch für Sie ausgeführt werden.

Die WRL und die C++/CX bieten unterschiedliche Vorteile. Nachfolgend sind einige Gründe aufgeführt, warum Sie die WRL anstelle der C++/CX verwenden würden:

  • Die WRL fügt nur wenig Abstraktion über die Windows-Runtime-ABI (Application Binary Interface) hinzu; so können Sie den zugrunde liegenden Code besser steuern und Windows-Runtime-APIs besser erstellen oder nutzen.

  • Die C++/CX stellt COM- HRESULT-Werte als Ausnahmen dar. Wenn Sie eine CodeBase geerbt haben, die COM verwendet, oder eine CodeBase, die keine Ausnahmen verwendet, ist die WRL möglicherweise besser zur Arbeit mit der Windows-Runtime geeignet, da keine Ausnahmen verwendet werden müssen.

    System_CAPS_ICON_note.jpg Hinweis

    Die WRL verwendet HRESULT -Werte und löst keine Ausnahmen aus. Außerdem verwendet die WRL intelligente Zeiger und das RAII-Muster, um dafür zu sorgen, dass Objekte ordnungsgemäß zerstört werden, wenn der Anwendungscode eine Ausnahme auslöst. Weitere Informationen zu intelligenten Zeigern und RAII finden Sie unter intelligente Zeiger und Objekte eigenen Ressourcen (RAII).

  • Zweck und Entwurf der WRL wurden durch die ATL (Active Template Library) angeregt, eine Gruppe vorlagenbasierter Visual C++-Klassen, die zur Vereinfachung der Programmierung von COM-Objekten dienen. Da die WRL die Windows-Runtimemithilfe von Standard-C++ umschließt, wird die Portierung und die Interaktion mit vielen vorhandenen in ATL geschriebenen COM-Komponenten in die Windows-Runtimeerleichtert. Wenn Sie ATL bereits kennen, fällt Ihnen die Programmierung in der WRL möglicherweise leichter.

Im Folgenden sind einige Ressourcen aufgeführt, die Ihnen beim schnellen Einstieg in die WRL helfen.

Die Windows-Runtime-Bibliothek (WRL)
In diesem Channel 9-Video erfahren Sie, wie Sie mit der WRL leichter Windows 8.x Store -Apps schreiben und Windows-Runtime -Komponenten erstellen und verwenden können.

Gewusst wie: Aktivieren und verwenden Sie eine Windows-Runtime-Komponente
Zeigt, wie Sie mit der WRL die Windows-Runtime initialisieren und eine Windows-Runtime -Komponente aktivieren und verwenden.

Gewusst wie: Abschließen asynchroner Vorgänge
Zeigt, wie Sie mit WRL asynchrone Vorgänge starten und Arbeiten ausführen, wenn die Vorgänge abgeschlossen sind.

Gewusst wie: Behandeln von Ereignissen
Zeigt, wie Sie mit der WRL die Ereignisse eines Windows-Runtime -Objekts abonnieren und behandeln.

Exemplarische Vorgehensweise: Erstellen einer grundlegenden Windows-Runtime-Komponente
Zeigt, wie Sie mit der WRL eine grundlegende Windows-Runtime -Komponente erstellen, die zwei Zahlen addiert. Veranschaulicht außerdem, wie Sie Ereignisse auslösen und die Komponente aus einer Windows 8.x Store -App verwenden, die mit JavaScript arbeitet.

Exemplarische Vorgehensweise: Erstellen einer Windows Store-Apps mithilfe von WRL und Media Foundation
Erfahren Sie, wie Sie eine Windows 8.x Store -App erstellen, die Microsoft Media Foundationverwendet.

Gewusst wie: Erstellen einer klassischen COM-Komponente
Zeigt, wie Sie mit der WRL eine einfache COM-Komponente und eine einfache Methode zur Registrierung und Nutzung der COM-Komponente aus einer Desktop-App erstellen.

Gewusst wie: Direktes Instanziieren von WRL-Komponenten
Erfahren Sie, wie Sie mit den Funktionen Microsoft::WRL::Make und Microsoft::WRL::Details::MakeAndInitialize eine Komponente aus dem Modul instanziieren, das sie definiert.

Gewusst wie: Verwenden von winmdidl.exe und midlrt.exe zum Erstellen von .h-Dateien aus Windows-Metadaten
Zeigt, wie benutzerdefinierte Komponenten für Windows-Runtime von WRL durch Erstellen einer IDL-Datei von den WINMD-Metadaten verarbeitet werden.

Exemplarische Vorgehensweise: Verbinden von Verwendungsaufgaben und XML-HTTP-Anforderungen
Zeigt, wie die IXMLHTTPRequest2 - und IXMLHTTPRequest2Callback -Schnittstellen zusammen mit Aufgaben für HTTP-GET- und POST-Anforderungen an einen Webdienst in einer Windows 8.x Store -App verwendet werden.

Bing Maps-Reise-Optimierer
Verwendet die HttpRequest in definierten Exemplarische Vorgehensweise: Herstellen einer Verbindung mithilfe von Aufgaben und XML-HTTP-Anforderungen im Rahmen einer vollständigen Windows 8.x Store app.

Erstellen eine Windows-Runtime-DLL-Komponente mit C++-Beispiel
Zeigt, wie Sie mit der WRL eine prozessinterne DLL-Komponente erstellen und sie von C++/CX, JavaScript und C# aus nutzen.

DirectX-Beispiel eines murmellabyrinthspiels
Veranschaulicht, wie Sie mit der WRL die Lebensdauer von COM-Komponenten wie DirectX und Media Foundation im Rahmen eines vollständigen 3D-Spiels verwalten.

Senden von toastbenachrichtigungen aus desktop-apps-Beispiel
Veranschaulicht, wie Sie mithilfe der WRL mit Toastbenachrichtigungen aus einer Desktop-App arbeiten.

Die WRL ähnelt der Active Template Library (ATL), da Sie mit ihr kleine, schnelle COM-Objekte erstellen können. WRL und ATL haben noch andere Konzepte gemeinsam, wie die Definition von Objekten in Modulen, die explizite Registrierung von Schnittstellen und die offene Erstellung von Objekten durch Factorys. Wenn Sie mit ATL vertraut sind, wird Ihnen auch die WRL bekannt vorkommen.

Die WRL unterstützt die COM-Funktionalität, die für Apps für Windows 8.x Store erforderlich ist. Daher unterscheidet sie sich von ATL, da die direkte Unterstützung für COM-Funktionen wie Folgende fehlt:

  • Aggregation

  • vordefinierte Implementierungen

  • duale Schnittstellen (IDispatch)

  • Standardenumeratorschnittstellen

  • Verbindungspunkte

  • abtrennbare Schnittstellen

  • OLE-Einbettung

  • ActiveX-Steuerelemente

  • COM+

Die WRL stellt Typen bereit, die einige grundlegende Konzepte darstellen. Im folgenden Abschnitt werden diese Typen beschrieben.

ComPtr

ComPtr ist ein Typ des intelligenten Zeigermechanismus , der die Schnittstelle darstellt, die vom Vorlagenparameter angegeben wird. Mit ComPtr deklarieren Sie eine Variable, die auf die Member eines Objekts zugreifen kann, das von der Schnittstelle abgeleitet wird. ComPtr verwaltet automatisch einen Verweiszähler für den zugrunde liegenden Schnittstellenzeiger und gibt die Schnittstelle frei, wenn der Verweiszähler auf null geht.

RuntimeClass

RuntimeClass stellt eine instanziierte Klasse dar, die einen Satz angegebener Schnittstellen erbt. Ein RuntimeClass -Objekt kann kombinierte Unterstützung für eine oder mehrere Windows-Runtime -COM-Schnittstellen oder einen schwachen Verweis auf eine Komponente bereitstellen.

Modul

Module stellt eine Auflistung von zugehörigen Objekten dar. Ein Module -Objekt verwaltet Klassenfactorys, die Objekte erstellen, und die Registrierung, die anderen Anwendungen die Verwendung eines Objekts ermöglicht.

Rückruf

Die Rückruf -Funktion erstellt ein Objekt, dessen Memberfunktion ein Ereignishandler ist (eine Rückrufmethode). Mit der Callback -Funktion schreiben Sie asynchrone Operationen.

EventSource

MitEventSource verwalten Sie Delegat -Ereignishandler. Mit der WRL implementieren Sie einen Delegaten, und mit EventSource fügen Sie Delegaten hinzu, entfernen sie und rufen sie auf.

AsyncBase

AsyncBase stellt virtuelle Methoden bereit, die das asynchrone Programmiermodell in der Windows-Runtime darstellen. Überschreiben Sie die Member in dieser Klasse, um eine benutzerdefinierte Klasse zu erstellen, die einen asynchronen Vorgang starten, beenden oder seinen Fortschritt überprüfen kann.

FtmBase

FtmBase stellt ein Freethread-Marshaller-Objekt dar. FtmBase erstellt eine globale Schnittstellentabelle (GIT) und hilft bei der Verwaltung von Marshalling- und Proxyobjekten.

WeakRef

WeakRef ist ein Typ des intelligenten Zeigermechanismus, der einen schwachen Verweisauf ein Objekt darstellt, das möglicherweise zugänglich ist. Ein WeakRef -Objekt kann nur von der Windows-Runtimeund nicht von klassischem COM verwendet werden.

Ein WeakRef -Objekt stellt in der Regel ein Objekt dar, dessen Vorhandensein von einem externen Thread oder einer externen Anwendung gesteuert wird. Beispielsweise kann ein WeakRef -Objekt auf ein Dateiobjekt verweisen. Wenn die Datei geöffnet ist, so ist WeakRef gültig, und die referenzierte Datei ist zugänglich. Wenn die Datei hingegen geschlossen ist, so ist WeakRef ungültig, und die Datei ist nicht zugänglich.

Projektvorlage für KlassenbibliothekBeschreibt, wie auf die WRL-Klassenbibliotheksprojektvorlage zugegriffen wird. Mit dieser Vorlage wird die Erstellung von Windows-Runtime -Komponenten mit Visual Studio vereinfacht.
Schlüssel-APIs nach KategorieHebt die primären WRL -Typen, -Funktionen und -Makros hervor.
ReferenzEnthält Referenzinformationen für die WRL.
Kurzreferenz (Windows-Runtime und Visual C++)Beschreibt kurz die C++/CX -Funktionen, die die Windows-Runtimeunterstützen.
Verwenden von Windows-Runtime-Komponenten in Visual C++Zeigt, wie Sie mit der C++/CX eine einfache Windows-Runtime -Komponente erstellen.
Anzeigen:
© 2017 Microsoft