Kernanwendungs- und Fensterobjekte der Windows-Runtime (Windows-Runtime-Apps mit DirectX und C++)

Applies to Windows and Windows Phone

Zweck

Die Windows-Runtime stellt ein Kern-App-Objekt bereit, das als ein Singleton definiert ist (und manchmal als der "App-Singleton" bezeichnet wird), der Ihre App als von der Windows-Runtime verwaltet darstellt.

Jede Windows Store-App besitzt eine Instanz des App-Objekts, das den dialogfähigen Betrieb zwischen der App und Windows definiert. Dieses Objekt fungiert als Vermittler zwischen Ihrem Code und den Funktionen auf Windows-Systemebene und macht bestimmte Features (z. B. Prozesslebensdauer-Verwaltung und Systemeinstellungen sowie Fensteransichten und -ereignisse) für Ihre App verfügbar. Dieses App-Objekt ist mit dem Typ CoreApplication im Windows.ApplicationModel.Core-Namespace definiert.

Als Entwickler einer Windows Store-App erstellen Sie nicht direkt eine Instanz von CoreApplication. Stattdessen wird sie beim Starten der App von der Windows-Runtime für Sie erstellt. Es handelt sich um einen statischen Typ, und die ausgeführte Instanz stellt ein Singleton-Objekt dar. Sie verfügt über eine überladene Methode, mit der Sie die Verhaltensweisen von Fensteransichten und Fensterereignissen konfigurieren und anpassen können: CoreApplication.Run.

Hinweis  Es gibt zwei Typen von App-Starts: Kaltstarts und Warmstarts. Bei einem Kaltstart ist keine aktuelle Instanz der App vorhanden, und es wird eine Instanz für Sie erstellt. Bei einem Warmstart wird bereits eine Instanz der App ausgeführt. Auf diese Weise findet die Windows-Runtime den aktuellen Prozess für die ausgewählte App und ruft einen Zeiger auf ihre Instanz von CoreApplication ab, anstatt eine neue Instanz zu erstellen.

Sehen Sie sich eine einfache und typische Möglichkeit zum Zugreifen auf den CoreApplication-Singleton an.


int main(Platform::Array<Platform::String^>^)
{
    // EventsViewSource implements IFrameworkViewSource.
    auto frameworkViewSource = ref new EventsViewSource();
    Windows::ApplicationModel::Core::CoreApplication::Run(frameworkViewSource);
    return 0;
}

Die beiden Überladungen für CoreApplication.Run übernehmen entweder einen Aktivierungsfactoryrückruf, den Sie mithilfe von IGetActivationFactory implementieren, oder einen bestimmten Rückruf einer Ansichtsframeworkquelle, den Sie mithilfe von IFrameworkViewSource implementieren. Bei diesem Codeausschnitt wird davon ausgegangen, dass Sie Ihren eigenen Typ definiert haben, der IFrameworkViewSource und insbesondere die CreateView-Methode dafür implementiert. Sie verwenden diese Überladung von CoreApplication.Run hauptsächlich, um Zugriff auf DirectX-Ressourcen zu erhalten und sie dem zugeordneten CoreWindow des App-Objekts anzufügen.

Sie verwenden die Überladung für CoreApplication.Run, das einen IGetActivationFactory-Typ zum Aktivieren von Servern außerhalb des Prozesses annimmt.

Weitere Informationen zur Verwendung des App-Objekts für DirectX oder Server außerhalb des Prozesses finden Sie in den folgenden Themen:

Inhalt dieses Abschnitts

ThemaBeschreibung

Das App-Objekt und DirectX

Für Windows Store-Apps mit DirectX (in erster Linie Spiele) werden nur wenige der Benutzeroberflächenelemente und -objekte der neuen Windows-Benutzeroberfläche genutzt. Da sie auf einer niedrigeren Ebene des Windows-Runtime-Stapels ausgeführt werden, müssen sie stattdessen auf eine grundlegendere Weise mit dem UI-Framework interagieren, und zwar indem sie direkt auf das App-Objekt zugreifen und mit diesem interagieren. Im Folgenden erfahren Sie, zu welchem Zeitpunkt und auf welche Weise eine solche Interaktion erfolgt und wie Sie als DirectX-Entwickler dieses Modell beim Entwickeln von auf C++ basierenden Windows Store-Apps effizient nutzen können.

App-Objekt und Out-of-Process-Server

Sie können Out-of-Process-Servertypen in Ihrer Windows Store-App aktivieren, indem Sie die IGetActivationFactory-Schnittstelle implementieren, auf die das App-Objekt zugreift. In diesem Thema wird erläutert, wie Out-of-Process-Server mit der Windows-Runtime und dem App-Objekt verwendet werden.

Interoperabilität von DirectX und XAML

Mit der Veröffentlichung von Windows 8 können Sie Extensible Application Markup Language (XAML) und Microsoft DirectX gemeinsam in Ihrer Windows Store-App verwenden.

Anwendungsthreads und DirectX

Das App-Objekt, das die Laufzeitdarstellung Ihrer Windows Store-App definiert, verwendet das ASTA-Threadingmodell (Application Single-Threaded Apartment), um die UI-Ansichten der App zu hosten. In diesem Thema untersuchen wir die Funktionsweise dieses Threadingmodells in UI-Ansichten und erläutern, wie Sie Ihre Windows Store-App mit DirectX und C++ entwickeln können, um das Threadingmodell möglichst optimal zu nutzen.

 

Entwicklergruppe

Es wird davon ausgegangen, dass Sie ein Windows C++-Entwickler sind und mit den Komponentenerweiterungen (CX) für Windows C++ vertraut sind.

 

 

Anzeigen:
© 2015 Microsoft