ClassFactory Class
The new home for Visual Studio documentation is Visual Studio 2017 Documentation on docs.microsoft.com.
The latest version of this topic can be found at ClassFactory Class.
Implements the basic functionality of the IClassFactory interface.
Syntax
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 |
---|---|
ClassFactory::ClassFactory Constructor |
Public Methods
Name | Description |
---|---|
ClassFactory::AddRef Method | Increments the reference count for the current ClassFactory object. |
ClassFactory::LockServer Method | Increments or decrements the number of underlying objects that are tracked by the current ClassFactory object. |
ClassFactory::QueryInterface Method | Retrieves a pointer to the interface specified by parameter. |
ClassFactory::Release Method | 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