Windows 런타임 핵심 응용 프로그램 및 창 개체(DirectX 및 C++로 작성한 Windows 런타임 앱)

용도

Windows 런타임은 singleton(경우에 따라 "앱 singleton"이라고도 함)으로 정의되는 핵심 앱 개체를 제공하며, 이 개체는 앱을 Windows 런타임에서 관리되는 것으로 나타냅니다.

각 Windows 스토어 앱은 앱과 Windows 간의 상호 작용을 정의하는 앱 개체의 인스턴스를 가집니다. 이 개체는 코드와 Windows 시스템 수준 함수 사이에 매개 역할을 하며, 프로세스 수명 관리 및 시스템 설정, 창 보기 및 이벤트 같은 특정 기능을 앱에 표시합니다. 이 앱 개체는 Windows.ApplicationModel.Core 네임스페이스에 CoreApplication 유형으로 정의됩니다.

Windows 스토어 앱의 개발자는 CoreApplication의 인스턴스를 직접 만들지 않습니다. 대신, 앱이 시작될 때 Windows 런타임이 앱에 대해 인스턴스를 만듭니다. 이 인스턴스는 정적 유형이고, 실행 인스턴스는 singleton 개체입니다. 인스턴스에는 개발자가 창 보기 및 창 이벤트 동작을 구성하고 사용자 지정할 수 있는 오버로드된 CoreApplication.Run 메서드가 하나 있습니다.

참고  앱 시작 유형은 콜드 부팅과 웜 부팅의 두 가지입니다. 콜드 부팅에서는 앱의 현재 인스턴스가 없고 개발자를 위해 인스턴스 하나가 만들어집니다. 웜 부팅에서는 앱의 인스턴스가 이미 실행되고 있습니다. 따라서 Windows 런타임은 실행 중인 앱에 대한 현재 프로세스를 찾고, 새 인스턴스를 만드는 대신 CoreApplication의 인스턴스에 포인터를 가져옵니다.

CoreApplication singleton에 액세스할 수 있는 쉽고 일반적인 방식을 살펴보겠습니다.


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

CoreApplication.Run에 대한 두 개의 오버로드는 IGetActivationFactory를 사용하여 구현하는 활성화 팩터리 콜백 또는 IFrameworkViewSource를 사용하여 구현하는 특정 보기 프레임워크 원본을 갖습니다. 이 코드 조각의 경우에는 개발자가 IFrameworkViewSource, 특히 거기에 CreateView 메서드를 구현하는 자신의 유형을 정의한 것으로 간주됩니다. 일반적으로 이 CoreApplication.Run의 오버로드를 사용하여 DirectX 리소스에 액세스하고 이를 앱 개체의 연결된 CoreWindow에 연결할 수 있습니다.

out-of-process 서버의 활성화를 위해 IGetActivationFactory 유형을 갖는 CoreApplication.Run의 오버로드를 사용합니다.

앱 개체가 DirectX 또는 out-of-process 서버와 함께 작동되는 방식에 대한 자세한 내용은 다음 항목을 참조하세요.

이 섹션의 내용

항목설명

앱 개체 및 DirectX

DirectX로 작성된 Windows 스토어 앱(주로 게임)은 새 Windows UI 사용자 인터페이스 요소 및 개체를 거의 사용하지 않습니다. 더 정확히 말하면 그러한 요소 및 개체는 Windows 런타임 스택의 하위 수준에서 실행되므로 앱 개체에 직접 액세스하여 상호 작용하는 보다 본질적인 방식으로 사용자 인터페이스 프레임워크와 상호 작용해야 합니다. 이러한 상호 작용이 발생하는 경우와, DirectX 개발자로서 자신의 Windows 스토어 앱 개발에 이 모델을 효율적으로 사용하는 방법에 대해 학습합니다.

앱 개체 및 out-of-process 서버

앱 개체에서 액세스되는 IGetActivationFactory 인터페이스를 구현하여 Windows 스토어 앱에서 out-of-process 서버 유형을 활성화합니다. 여기서는 out-of-process 서버가 Windows 런타임 및 앱 개체와 함께 작동되는 방식에 대해 설명합니다.

DirectX 및 XAML interop

Windows 8 릴리스에서는 Windows 스토어 앱에서 XAML(Extensible Application Markup Language)과 Microsoft DirectX를 함께 사용할 수 있습니다.

응용 프로그램 스레딩 및 DirectX

Windows 스토어 앱의 런타임 표현을 정의하는 앱 개체는 ASTA(응용 프로그램 단일 스레드 아파트)라는 스레딩 모델을 사용하여 앱의 UI 보기를 호스트합니다. 이 항목에서는 UI 보기의 스레딩 모델이 작동하는 방식 및 이 스레딩 모델을 효율적으로 사용하도록 C++와 함께 DirectX를 사용하는 Windows 스토어 앱을 개발하는 방법을 알아봅니다.

 

대상 개발자 그룹

이 내용은 Windows C++ 개발자로, Windows C++용 CX(구성 요소 확장)에 익숙한 사용자를 대상으로 합니다.

 

 

표시:
© 2015 Microsoft