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

Windows 런타임 C++ 템플릿 라이브러리 (WRL)를 작성 하 고 사용 하는 낮은 수준의 방법을 제공 하는 템플릿 라이브러리입니다 Windows 런타임 구성 요소입니다.

이점

WRL 보다 쉽게 구현 하 고 구성 요소 개체 모델 (COM) 구성 요소를 사용할 수 있습니다.관리 기법 같은 테스트 개체의 수명 관리에 참조 횟수를 제공 HRESULT 작업의 성공 또는 실패 여부를 결정 하는 값입니다.성공적으로 사용 하는 WRL, 이러한 규칙 및 기술을 주의 깊게 따라야 합니다.

Visual C++ 구성 요소 확장 (C++/CX)는 고급의 언어를 기반으로 사용 하는 방법을 Windows 런타임 구성 요소입니다.모두는 WRL 및 C++/CX 에 대 한 코드 작성을 간단 하 게는 Windows 런타임 자동으로 사용자를 대신 하 여 관리 작업을 수행 하 여.

WRL 및 C++/CX 서로 다른 이점을 제공 합니다.사용할 수 일부의 이유는 WRL 대신 C++/CX.

  • WRL거의 추상화를 통해 추가 된 Windows 런타임 응용 프로그램 이진 인터페이스 (내부 코드를 더 잘 만들거나 소비를 제어할 수 있도록 ABI), Windows 런타임 Api입니다.

  • C++/CXCOM을 나타내는 HRESULT 값으로 예외입니다.예외를 사용 하지 않는 COM 또는 하나를 사용 하 여 코드 베이스를 상속 받은 경우에 찾을 수 있는 WRL 더 자연스럽 게 작업할 수 있습니다는 Windows 런타임 예외를 사용 하지 않아도 되기 때문에.

    [!참고]

    WRL 를 사용 하 여 HRESULT 값 및 예외를 throw 하지 않습니다.또한는 WRL 사용 하 여 스마트 포인터를 응용 프로그램 코드에서 예외를 throw 하면 개체 올바르게 삭제 됩니다 보장 하기 위해 RAII 패턴.RAII 및 스마트 포인터에 대 한 자세한 정보를 참조 하십시오. 스마트 포인터 (현대 C++)개체 (RAII) 리소스를 소유합니다..

  • 용도 디자인에는 WRL COM 개체 프로그래밍을 단순화 하는 템플릿 기반 c + + 클래스의 집합입니다는 ATL (액티브 템플릿 라이브러리에서), 감각을 반영한 것입니다.때문에 WRL 표준 c + +를 사용 하 여 배치 하는 Windows 런타임, 더 쉽게 이식 하 고 ATL에 작성 된 많은 기존 COM 구성 요소와 상호 작용의 Windows 런타임.ATL을 이미 알고 있는 경우를 찾을 수 있습니다 WRL 프로그래밍이 쉽습니다.

시작

작업 얻을 하는 데 도움이 되는 리소스는 WRL 바로.

WRLATL에 비해

WRL작고 빠른 COM 개체를 만드는 데 사용할 수 있기 때문에 ATL (액티브 템플릿 라이브러리)와 유사 합니다.WRL고 또한 ATL 개체 모듈에는 인터페이스를 명시적으로 등록의 정의 등의 개념을 공유 하 고 팩토리를 사용 하 여 개체를 만들 열.편하게 사용할 수 있습니다 WRL ATL.에 익숙하다면

WRL필요한 COM 기능을 지 원하는 Windows 스토어 응용 프로그램입니다.따라서 같은 COM 기능에 대 한 직접적인 지원을 생략 때문에 ATL에서 다릅니다.

  • 집계

  • 스톡 구현

  • 이중 인터페이스 (IDispatch)

  • 표준 열거자 인터페이스

  • 연결 지점

  • 분리 된 인터페이스

  • OLE 포함

  • ActiveX 컨트롤

  • COM+

개념

WRL몇 가지 기본 개념을 나타내는 형식을 제공 합니다.다음 단원에서는 이러한 형식에 설명합니다.

Hh438466.collapse_all(ko-kr,VS.110).gifComPtr

ComPtr 되는 스마트 포인터 템플릿 매개 변수로 지정 된 인터페이스를 나타내는 형식입니다.사용 ComPtr 인터페이스에서 파생 된 개체의 멤버에 액세스할 수 있는 변수를 선언 합니다.ComPtr자동으로 내부 인터페이스 포인터의 참조 횟수를 유지 관리 하 고 참조 횟수가 0이 되는 경우 인터페이스를 해제 합니다.

Hh438466.collapse_all(ko-kr,VS.110).gifRuntimeClass

RuntimeClass 지정 된 인터페이스를 상속 하는 인스턴스화된 클래스를 나타냅니다.A RuntimeClass 개체가 하나 이상에 대 한 지원이 함께 제공 Windows 런타임 COM 인터페이스 또는 구성 요소에 대 한 약한 참조입니다.

Hh438466.collapse_all(ko-kr,VS.110).gif모듈

모듈 관련된 개체의 컬렉션을 나타냅니다.A Module 개체는 개체를 만들고 개체를 사용 하는 다른 응용 프로그램을 사용 하는 등록 하는 클래스 팩터리를 관리 합니다.

Hh438466.collapse_all(ko-kr,VS.110).gif콜백

콜백 함수는 멤버 함수 (콜백 메서드) 이벤트 처리기 개체를 만듭니다.사용 된 Callback 비동기 작업을 작성 하는 함수입니다.

Hh438466.collapse_all(ko-kr,VS.110).gifEventSource

EventSource 를 관리 하는 데 사용 됩니다 위임 이벤트 처리기입니다.사용 WRL 대리자를 구현 하 고 사용 하 여 EventSource 추가 하려면 제거 하 고 대리자를 호출 합니다.

Hh438466.collapse_all(ko-kr,VS.110).gifAsyncBase

AsyncBase 을 나타내는 가상 메서드를 제공 된 Windows 런타임 비동기 프로그래밍 모델입니다.시작, 중지 또는 비동기 작업의 진행률을 확인할 수 있는 사용자 지정 클래스를 만드는 구성원이 클래스에서를 재정의 합니다.

Hh438466.collapse_all(ko-kr,VS.110).gifFtmBase

FtmBase 자유 스레드된 마샬러 개체를 나타냅니다.FtmBase전역 인터페이스 테이블 (GIT)를 만들고 프록시 마샬링 및 개체를 관리할 수 있습니다.

Hh438466.collapse_all(ko-kr,VS.110).gifWeakRef

WeakRef 나타내는 스마트 포인터 형식이 기는 약한 참조, 수 있거나 액세스할 수 없는 개체를 참조 합니다.A WeakRef 개체 사용 하 여만 Windows 런타임, 및 기본 COM에서 없습니다

A WeakRef 개체는 일반적으로 존재 여부는 외부 스레드 또는 응용 프로그램에서 제어 하는 개체를 나타냅니다.예를 들어,는 WeakRef 개체 파일 개체를 참조할 수 있습니다.파일이 열릴 때의 WeakRef 잘못 된 참조 된 파일에 액세스할 수 있습니다.파일을 닫을 때는 WeakRef 잘못 된 파일을 액세스할 수 없습니다.

관련 항목

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

WRL 클래스 라이브러리 프로젝트 템플릿에 액세스 하는 방법을 설명 합니다.이 서식 파일을 만들려면 Visual Studio 사용 하 여 작업을 간소화 하 Windows 런타임 구성 요소입니다.

범주별 키 WRL API

밝은 주 WRL 형식, 함수 및 매크로.

WRL 참조

에 대 한 참조 정보가 들어 있는 WRL.

빠른 참조 (Windows 런타임 및 Visual C++)

간단 하 게 설명 된 C++/CX 기능을 지 원하는 Windows 런타임.

Windows의 런타임 구성 요소를 사용 하 여 Visual C++

사용 하는 방법을 보여 줍니다. C++/CX 기본 만들려면 Windows 런타임 구성 요소입니다.