Was this page helpful?
Your feedback about this content is important. Let us know what you think.
Additional feedback?
1500 characters remaining
ClassFactory Class

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>;

I0

The zeroth interface.

I1

The first interface.

I2

The second interface.

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>

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.

I0

ChainInterfaces

I0

RuntimeClassBase

ImplementsHelper

DontUseNewUseMake

RuntimeClassFlags

RuntimeClassBaseT

RuntimeClass

ClassFactory

Header: module.h

Namespace: Microsoft::WRL

Show:
© 2015 Microsoft