AfxOleRegisterServerClass

BOOL AFXAPI AfxOleRegisterServerClass(
            REFCLSID clsid,
            LPCTSTR lpszClassName,
            LPCTSTR lpszShortTypeName,
            LPCTSTR lpszLongTypeName,
            OLE_APPTYPE nAppType = OAT_SERVER,
            LPCTSTR* rglpszRegister = NULL,
            LPCTSTR* rglpszOverwrite = NULL
           );

#include <afxdisp.h>

返回值:
如果成功注册了服务器类,则返回非零值;否则返回0。

参数:
clsid对服务器的OLE类ID 的引用。
lpszClassName指向包含服务器对象的类名的字符串的指针。
lpszShortTypeName指向包含服务器对象类型的短名字的字符串的指针,如:“Chart”。
lpszLongTypeName指向包含服务器对象类型的长名字的字符串的指针,如:“Microsoft Excel 5.0 Chart”。
nAppType取值于OLE_APPTYPE列表中的一个值,指定了OLE应用程序的类型,可能的取值如下:
OAT_INPLACE_SERVER服务器具有完整的服务器接口。
OAT_SERVER服务器只支持嵌入。
OAT_CONTAINER容器支持与嵌入的连接。
OAT_DISPATCH_OBJECT具有IDispatch能力的对象。
rglpszRegister字符串指针数组,代表OLE系统注册表的键和值,当这些键现在没有值时将被加入OLE系统注册表。
rglpszOverwrite字符串指针数组,代表OLE系统注册表的键和值,当这些键现在已经有值时将被加入OLE系统注册表。

说明:
这个函数使你能够在OLE系统注册表中注册你自己的服务器。多数应用程序可以使用COleTemplateServer::Register 来注册应用程序的文档类型。如果你的应用程序的系统注册表格式不符合通常的形式,你可以使用AfxOleRegisterServerClass来获得更多的控制。
注册表中包含了一系列的键和值。rglpszRegister 和 rglpszOverwrite参数都是字符串指针的数组,每一个字符串都包含了一个键和值,用NULL字符('\n')隔开。每一个字符串都有可以替换的参数,它们的位置用字符“%1”到“%5”来标记。
符号按照下列方式填充:
符号取值
%1类ID,作为字符串格式化
%2类名
%3可执行文件的路径
%4短类型名
%5长类型名

请参阅:COleTemplateServer::UpdateRegistry