IClassFactory2
The IClassFactory2
interface enables a class factory object, in any sort of object server, to
control object creation through licensing. This interface is an extension to IClassFactory
When to Implement
Implement
this interface on a class factory object if you need to control object creation
through a license. A class that supports licensing should be marked in an
object s type information with the [licensed] attribute on the object s coclass
entry.
The CreateInstance
method inherited from IClassFactory is allowed to return
CLASS_E_NOTLICENSED to indicate that object creation is controlled through
licensing. The caller can create an instance of this object only through IClassFactory2::CreateInstanceLic
if the caller has a license key obtained from IClassFactory2::RequestLicKey.
Otherwise, no object creation is allowed.
When to Use
Use this
interface to create licensed objects or to obtain a license key that can be
used in later creations.
Methods in Vtable Order
IUnknown
Methods |
Description |
QueryInterface |
Returns
pointers to supported interfaces. |
AddRef |
Increments
reference count. |
Release |
Decrements
reference count. |
IClassFactory
Methods |
Description |
CreateInstance |
Creates an
uninitialized object. |
LockServer |
Locks
object application open in memory. |
IClassFactory2
Methods |
Description |
GetLicInfo |
Fills a LICINFO
structure with information on the licensing capabilities of this class
factory. |
RequestLicKey |
Creates and
returns a license key that the caller can save and use later in calls to IClassFactory2::CreateInstanceLic. |
CreateInstanceLic |
Creates an
instance of the licensed object given a license key from IClassFactory2::RequestLicKey. |
See Also