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

Requirements

Header: module.h

Namespace: Microsoft::WRL

Show:
© 2016 Microsoft