如题,最好能给个现成的例子,谢谢 

解决方案 »

  1.   

    msdn2.microsoft.com/en-us/library/aa751973.aspx
      

  2.   

    实现IClassFactory2接口。
    如果是你自己的系统。就自己定义一个接口。
      

  3.   

    IClassFactory2是继承自IClassFactory的一个接口。和IClassFactory一样负责COM对象的创建渗活动。
    IClassFactory2有三个方法:
     HRESULT GetLicInfo([out]LICINFO* pLicInfo); //取得licInfo,也就是证书信息。
     HRESULT RequestLicKey( //请求证书的Key,你可以大概理解成用来得到一个空表格之类的东西
      DWORD dwReserved, //保留
      BSTR* pbstrKey  //空表格在此
     );
     HRESULT CreateInstanceLic(
      IUnknown * pUnkOuter, //用来支持聚合
      IUnknown * pUnkReserved, //保留
      REFIID riid, //对象的CLSID,和IClassFactory一样
      BSTR bstrKey, //一个BSTR,用来传入Lic的相关数据。因为BSTR可以标识二制数据块,所以可以在这里填写Lic文件(或者不是文件,比如一个流)的内容。也可以是文件的路径或者URL。总之一切都可以。细节由你来约定。
      [out]void ** ppvObject //输出新创建的对象
     );ATL有一个宏定义DECLARE_CLASSFACTORY2,用来指定一个对象要用IClassFactory2创建。