Duration (Pacific Standard Time):
To (Pacific Standard Time):
Impact:
  • None
User Action:
  • None

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. This extension enables a class factory executing on a licensed machine to provide a license key that can be used later to create an object instance on an unlicensed machine. Such considerations are important for objects like controls that are used to build applications on a licensed machine. Subsequently, the application built must be able to run on an unlicensed machine. The license key gives only that one client application the right to instantiate objects through IClassFactory2 when a full machine license does not exist.

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.

Members

The IClassFactory2 interface inherits from IClassFactory. IClassFactory2 also has these types of members:

Methods

The IClassFactory2 interface has these methods.

MethodDescription
CreateInstanceLic

Creates an instance of the licensed object for the specified license key.

GetLicInfo

Retrieves information about the licensing capabilities of this class factory.

RequestLicKey

Creates a license key that the caller can save and use later to create an instance of the licensed object.

 

Requirements

Minimum supported client

Windows 2000 Professional [desktop apps only]

Minimum supported server

Windows 2000 Server [desktop apps only]

Header

OCIdl.h

IDL

OCIdl.idl

IID

IID_IClassFactory2 is defined as B196B28F-BAB4-101A-B69C-00AA00341D07

See also

IClassFactory