Note
Access to this page requires authorization. You can try signing in or changing directories.
Access to this page requires authorization. You can try changing directories.
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