ClassFactory Class
Implements the basic functionality of the IClassFactory interface.
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>;
Parameters
I0
The zeroth interface.I1
The first interface.I2
The second interface.
Remarks
Utilize ClassFactory to provide a user-defined factory implementation.
The following programming pattern demonstrates how to use the Implements structure to specify more than three interfaces on a class factory.
struct MyFactory : ClassFactory<Implements<I1, I2, I3>, I4, I5>
Members
Public Constructors
Name |
Description |
---|---|
Public Methods
Name |
Description |
---|---|
Increments the reference count for the current ClassFactory object. |
|
Increments or decrements the number of underlying objects that are tracked by the current ClassFactory object. |
|
Retrieves a pointer to the interface specified by parameter. |
|
Decrements the reference count for the current ClassFactory object. |
Inheritance Hierarchy
I0
ChainInterfaces
I0
RuntimeClassBase
ImplementsHelper
DontUseNewUseMake
RuntimeClassFlags
RuntimeClassBaseT
RuntimeClass
ClassFactory
Requirements
Header: module.h
Namespace: Microsoft::WRL