다음을 통해 공유


SimpleClassFactory 클래스

기본 클래스를 만드는 기본적인 메커니즘을 제공합니다.

구문

template<typename Base>
class SimpleClassFactory : public ClassFactory<>;

매개 변수

Base
기본 클래스입니다.

설명

기본 클래스는 기본 생성자를 제공해야 합니다.

다음 코드 예제에서는 ActivatableClassWithFactoryEx 매크로와 함께 사용하는 SimpleClassFactory 방법을 보여 줍니다.

ActivatableClassWithFactoryEx(MyClass, SimpleClassFactory, MyServerName);

멤버

공용 메서드

이름 설명
SimpleClassFactory::CreateInstance 메서드 지정된 인터페이스의 인스턴스를 만듭니다.

상속 계층 구조

I0

ChainInterfaces

I0

RuntimeClassBase

ImplementsHelper

DontUseNewUseMake

RuntimeClassFlags

RuntimeClassBaseT

RuntimeClass

ClassFactory

SimpleClassFactory

요구 사항

헤더: module.h

네임스페이스: Microsoft::WRL

SimpleClassFactory::CreateInstance 메서드

지정된 인터페이스의 인스턴스를 만듭니다.

STDMETHOD( CreateInstance )(
   _Inout_opt_ IUnknown* pUnkOuter,
   REFIID riid,
   _Deref_out_ void** ppvObject
);

매개 변수

pUnkOuter
이어야 합니다 nullptr. 그렇지 않으면 반환 값이 CLASS_E_NOAGGREGATION.

SimpleClassFactory는 집계를 지원하지 않습니다. 집계가 지원되고 생성되는 개체가 집계의 일부인 경우 pUnkOuter는 집계의 제어 IUnknown 인터페이스에 대한 포인터가 됩니다.

riid
만들 개체의 인터페이스 ID입니다.

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

Return Value

성공하면 S_OK이고, 그렇지 않으면 오류를 나타내는 HRESULT입니다.

설명

정의된 경우 클래스 템플릿 매개 변수에 지정된 기본 클래스가 RuntimeClass에서 파생되지 않거나 ClassicCom 또는 WinRtClassicComMix RuntimeClassType 열거형 값으로 구성되지 않은 경우 __WRL_STRICT__ 어설션 오류가 내보내집니다.