在dllregistgerServer的时候加入下面的代码:
if (FAILED( CreateComponentCategory(CATID_SafeForScripting,
  L"Controls that are safely scriptable") ))
return ResultFromScode(SELFREG_E_CLASS); if (FAILED( CreateComponentCategory(CATID_SafeForInitializing,
  L"Controls safely initializable from persistent data") ))
return ResultFromScode(SELFREG_E_CLASS); if (FAILED( RegisterCLSIDInCategory(_ctlid, CATID_SafeForScripting) ))
return ResultFromScode(SELFREG_E_CLASS); if (FAILED( RegisterCLSIDInCategory(_ctlid, CATID_SafeForInitializing) ))
return ResultFromScode(SELFREG_E_CLASS);两个tid的定义:
const CATID CATID_SafeForScripting     =
{0x7dd95801,0x9882,0x11cf,{0x9f,0xa9,0x00,0xaa,0x00,0x6c,0x42,0xc4}};
const CATID CATID_SafeForInitializing  =
{0x7dd95802,0x9882,0x11cf,{0x9f,0xa9,0x00,0xaa,0x00,0x6c,0x42,0xc4}};

解决方案 »

  1.   

    在dllregisterserver的时候加入下面的语句:
    if (FAILED( CreateComponentCategory(CATID_SafeForScripting,
      L"Controls that are safely scriptable") ))
    return ResultFromScode(SELFREG_E_CLASS); if (FAILED( CreateComponentCategory(CATID_SafeForInitializing,
      L"Controls safely initializable from persistent data") ))
    return ResultFromScode(SELFREG_E_CLASS); if (FAILED( RegisterCLSIDInCategory(_ctlid, CATID_SafeForScripting) ))
    return ResultFromScode(SELFREG_E_CLASS); if (FAILED( RegisterCLSIDInCategory(_ctlid, CATID_SafeForInitializing) ))
    return ResultFromScode(SELFREG_E_CLASS);
    同时定义:const CATID CATID_SafeForScripting     =
    {0x7dd95801,0x9882,0x11cf,{0x9f,0xa9,0x00,0xaa,0x00,0x6c,0x42,0xc4}};
    const CATID CATID_SafeForInitializing  =
    {0x7dd95802,0x9882,0x11cf,{0x9f,0xa9,0x00,0xaa,0x00,0x6c,0x42,0xc4}};
      

  2.   

    springofcn(风中飘扬) 
       你好!
       万分感激你的赐教,按照你的方法,我已成功解决问题,等我知道加分后,立即加分给你!!!