다음을 통해 공유


ClassFactory 클래스

IClassFactory 인터페이스의 기본 기능을 구현합니다.

구문

template <
    typename I0 = Details::Nil,
    typename I1 = Details::Nil,
    typename I2 = Details::Nil
>
class ClassFactory :
    public Details::RuntimeClass<
        typename Details::InterfaceListHelper<
            IClassFactory,
            I0,
            I1,
            I2,
            Details::Nil
        >::TypeT,
        RuntimeClassFlags<ClassicCom | InhibitWeakReference>,
        false
    >;

매개 변수

I0
0번째 인터페이스입니다.

I1
첫 번째 인터페이스입니다.

I2
두 번째 인터페이스입니다.

설명

ClassFactory 사용자 정의 팩터리 구현을 제공하는 데 활용합니다.

다음 프로그래밍 패턴에서는 Implements 구조를 사용하여 클래스 팩터리에 3개 이상의 인터페이스를 지정하는 방법을 보여 줍니다.

struct MyFactory : ClassFactory<Implements<I1, I2, I3>, I4, I5>

멤버

공용 생성자

속성 설명
ClassFactory::ClassFactory

공용 메서드

이름 설명
ClassFactory::AddRef 현재 ClassFactory 개체에 대한 참조 수를 증분합니다.
ClassFactory::LockServer 현재 ClassFactory 개체에서 추적하는 기본 개체의 수를 증분하거나 줄입니다.
ClassFactory::QueryInterface 매개 변수로 지정된 인터페이스에 대한 포인터를 검색합니다.
ClassFactory::Release 현재 ClassFactory 개체에 대한 참조 수를 줄입니다.

상속 계층 구조

I0

ChainInterfaces

I0

RuntimeClassBase

ImplementsHelper

DontUseNewUseMake

RuntimeClassFlags

RuntimeClassBaseT

RuntimeClass

ClassFactory

요구 사항

헤더: module.h

네임스페이스: Microsoft::WRL

ClassFactory::AddRef

현재 ClassFactory 개체에 대한 참조 수를 증분합니다.

STDMETHOD_(
   ULONG,
   AddRef
)();

Return Value

성공하면 S_OK이고, 그렇지 않으면 실패를 설명하는 HRESULT가 발생합니다.

ClassFactory::ClassFactory

WRL_NOTHROW ClassFactory();

ClassFactory::LockServer

현재 ClassFactory 개체에서 추적하는 기본 개체의 수를 증분하거나 줄입니다.

STDMETHOD(
   LockServer
)(BOOL fLock);

매개 변수

fLock
true 추적된 개체의 수를 증분합니다. false 추적된 개체의 수를 줄입니다.

Return Value

성공하면 S_OK이고, 그렇지 않으면 E_FAIL입니다.

설명

ClassFactory는 Module 클래스의 기본 인스턴스에서 개체를 추적합니다.

ClassFactory::QueryInterface

매개 변수로 지정된 인터페이스에 대한 포인터를 검색합니다.

STDMETHOD(
   QueryInterface
)(REFIID riid, _Deref_out_ void **ppvObject);

매개 변수

riid
인터페이스 ID입니다.

ppvObject
이 작업이 완료되면 매개 변수 riid로 지정된 인터페이스에 대한 포인터입니다.

Return Value

성공하면 S_OK이고, 그렇지 않으면 실패를 설명하는 HRESULT가 발생합니다.

ClassFactory::Release

현재 ClassFactory 개체에 대한 참조 수를 줄입니다.

STDMETHOD_(
   ULONG,
   Release
)();

Return Value

성공하면 S_OK이고, 그렇지 않으면 실패를 설명하는 HRESULT가 발생합니다.