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 パラメーターで指定されたオブジェクトのインスタンスへのポインター。
戻り値
成功した場合は S_OK、そうでない場合はエラーを示す HRESULT。
解説
__WRL_STRICT__
が定義されている場合、クラス テンプレート パラメーターで指定された基底クラスが、RuntimeClass から派生していないか、ClassicCom または WinRtClassicComMix の RuntimeClassType 列挙値で構成されていない場合には、アサート エラーが生成されます。