다음을 통해 공유


WRL 클래스 라이브러리 프로젝트 템플릿

Visual Studio 사용 하 여 작성 하는 경우는 Windows 런타임 C++ 템플릿 라이브러리 (WRL) 프로젝트를 크게 간소화할 수 있습니다 작업 WRL 클래스 라이브러리 프로젝트 템플릿을 다운로드 하 여.

[!참고]

기존 프로젝트의 프로젝트 설정을 수동으로 업데이트 하는 경우를 참조 하십시오. Dll (C + + /cli CX).

WRL 프로젝트 서식 파일 다운로드

Visual Studio 대 한 템플릿을 제공 하지 않는 WRL 프로젝트입니다.기본 클래스 라이브러리를 만드는 프로젝트 템플릿을 다운로드 하는 방법은 Windows 스토어 응용 프로그램 WRL.

WRL 프로젝트 템플릿을 다운로드 하려면

  1. 메뉴 모음에서 파일, 새 프로젝트를 선택합니다.

  2. 왼쪽된 창에는 새 프로젝트 선택 대화 상자에서 온라인, 선택한 다음 템플릿.

  3. 온라인 템플릿 검색 의 오른쪽 위 모서리에, 형식 상자 WRL 클래스 라이브러리.서식 파일 검색 결과에 표시 되 면 선택 된 확인 단추.

  4. 다운로드 및 설치 계약 라이센스에 동의 하는 경우 대화 상자, 선택은 설치 단추.

  5. 서식 파일 설치 후 선택 하 여 프로젝트를 만들 파일, 새 프로젝트, 다음 선택은 WRLClassLibrary 템플릿.프로젝트가 DLL을 만듭니다.

프로젝트 템플릿을 사용 하는 예제입니다.

읽기 연습: WRL을 사용하여 기본 Windows 런타임 구성 요소 만들기 을 만들려면이 서식 파일을 사용 하는 예제는 Windows 런타임 구성 요소입니다.

프로젝트 템플릿을 제공합니다.

프로젝트 템플릿을 제공합니다.

  • 클래스 구현에 기본 인터페이스에 대 한 MIDL 속성 선언.idl 파일입니다.예를 들어 다음과 같습니다.

    import "inspectable.idl";
    import "Windows.Foundation.idl";
    
    #define COMPONENT_VERSION 1.0
    
    namespace WRLClassLibrary
    {
        interface IWinRTClass;
        runtimeclass WinRTClass;
    
        [uuid(89656677-8679-477c-aff1-f724c64b70f3), version(COMPONENT_VERSION), exclusiveto(WinRTClass)] 
        interface IWinRTClass : IInspectable
        {
        }
    
        [version(COMPONENT_VERSION), activatable(COMPONENT_VERSION)]
        runtimeclass WinRTClass
        {
            [default] interface IWinRTClass;
        }
    }
    
  • 클래스 구현을 정의 하는.cpp 파일입니다.예를 들어 다음과 같습니다.

    #include "pch.h"
    
    #include "WRLClassLibrary_h.h"
    #include <wrl.h>
    
    using namespace Microsoft::WRL;
    using namespace Windows::Foundation;
    
    namespace ABI
    {
        namespace WRLClassLibrary
        {
            class WinRTClass: public RuntimeClass<IWinRTClass>
            {
                InspectableClass(L"WRLClassLibrary.WinRTClass", BaseTrust)
    
            public:
                WinRTClass()
                {
                }
            };
    
            ActivatableClass(WinRTClass);
        }
    }
    

    RuntimeClass 기본 클래스는 모든 개체 모듈에 대 한 전역 참조를 관리할 수 있습니다와의 메서드 선언에 IUnknownIInspectable 인터페이스.InspectableClass 매크로 구현 IUnknownIInspectable.ActivatableClass 매크로 클래스의 인스턴스를 생성 하는 클래스 팩터리를 만듭니다.

  • 라이브러리를 정의 하는 module.cpp 라는 파일을 내보내는 DllMain, DllCanUnloadNow, DllGetActivationFactory, 및 DllGetClassObject.

참고 항목

개념

Windows 런타임 C++ 템플릿 라이브러리(WRL)