Objetos básicos de aplicación y ventana de Windows en tiempo de ejecución (aplicaciones de Windows en tiempo de ejecución con DirectX y C++)

Applies to Windows and Windows Phone

Propósito

Windows en tiempo de ejecución proporciona un objeto aplicación básico, definido como un singleton (y, a veces, denominado "singleton de aplicación"), que representa a tu aplicación administrada por Windows en tiempo de ejecución.

Cada aplicación de la Tienda Windows tiene una instancia del objeto aplicación que define la interoperación entre la aplicación y Windows. Este objeto funciona como un intermediario entre el código y las funciones de nivel del sistema de Windows, y expone características específicas a la aplicación, como la administración del ciclo de vida de los procesos y la configuración del sistema, así como vistas y eventos de ventanas. Este objeto aplicación se define como el tipo CoreApplication en el espacio de nombres Windows.ApplicationModel.Core.

Un desarrollador de una aplicación de la Tienda Windows no crea directamente una instancia de CoreApplication, sino que lo hace Windows en tiempo de ejecución de manera automática cuando se inicia la aplicación. Es un tipo estático y la instancia de ejecución es un objeto singleton. Dispone de un método sobrecargado que permite configurar y personalizar los comportamientos de vista y evento de ventana: CoreApplication.Run.

Nota  Hay dos tipos de inicio de aplicación: en frío y en caliente. En un inicio en frío no existe una instancia actual de la aplicación, sino que se crea una automáticamente. En un inicio en caliente ya se está ejecutando una instancia de la aplicación. En este caso, Windows en tiempo de ejecución busca el proceso actual de la aplicación en ejecución y obtiene un puntero a su instancia de CoreApplication, en lugar de crear una instancia nueva.

Veamos una manera sencilla y típica de tener acceso al singleton CoreApplication.


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

Las dos sobrecargas para CoreApplication.Run usan una devolución de llamada de fábrica de activación, que se implementa mediante IGetActivationFactory, o un origen de marco de vistas específico, que se implementa con IFrameworkViewSource. En el caso de este fragmento suponemos que has definido tu propio tipo para implementar IFrameworkViewSource y, en concreto, el método CreateView en el tipo. Normalmente se usa esta sobrecarga de CoreApplication.Run para acceder a recursos de DirectX y conectarlos a la CoreWindow asociada al objeto aplicación.

Puede usar la sobrecarga para CoreApplication.Run, que consume un tipo IGetActivationFactory para activar servidores fuera del proceso.

Para más información sobre cómo funciona el objeto aplicación con DirectX o con servidores fuera del proceso, consulta los temas siguientes:

En esta sección

TemaDescripción

El objeto de aplicación y DirectX

Las aplicaciones C++ de la Tienda Windows con DirectX (juegos, principalmente) no usan muchos de los elementos y objetos de la nueva interfaz de usuario de Windows. Como se ejecutan a un nivel más bajo en la pila de Windows en tiempo de ejecución, deben interoperar con el marco de la interfaz de usuario de una manera más básica, mediante el acceso y la interoperación con el objeto aplicación directamente. Aprende cuándo y cómo debe tener lugar esta interoperación, y cómo un desarrollador de DirectX puede usar de manera efectiva este modelo para desarrollar una aplicación de la Tienda Windows.

El objeto de aplicación y los servidores fuera del proceso

Para activar tipos de servidor fuera del proceso desde una aplicación de la Tienda Windows, se implementa la interfaz IGetActivationFactory, a la que tiene acceso el objeto aplicación. Vamos a explicar cómo funcionan los servidores fuera del proceso con Windows en tiempo de ejecución y el objeto aplicación.

Interoperabilidad de DirectX y XAML

Desde el lanzamiento de Windows 8 puedes usar el lenguaje XAML y Microsoft DirectX juntos en una aplicación de la Tienda Windows.

Subprocesos de aplicaciones y DirectX

El objeto de aplicación que define la representación en tiempo de ejecución de tu aplicación de la Tienda Windows usa un modelo de subprocesos denominado ASTA (contenedor de subproceso único de aplicaciones) para hospedar las vistas de la interfaz de usuario de tu aplicación. En este tema veremos cómo funciona el modelo de subprocesos para las vistas de la interfaz de usuario y cómo desarrollar una aplicación de la Tienda Windows usando DirectX con C++ para utilizar este modelo de subprocesos eficazmente.

 

Audiencia del desarrollador

Suponemos que eres un desarrollador de C++ para Windows y conoces la tecnología Component Extensions (CX) para Windows C++.

 

 

Mostrar:
© 2014 Microsoft