原创 in-process COM服务器简介

2008-5-28 21:10 3235 5 5 分类: 软件与OS

http://bbs.21ic.com/club/bbs/list.asp?boardid=7&page=1&t=2979611


hotpower 发表于 2008-5-28 20:53 驱动开发|WIN编程 ←返回版面 按此察看该网友的资料 按此把文章加入收藏夹 按此编辑本帖


8楼: 谢谢TestCode~~~这个我早已折腾过~~~无果


用Dependency Walker看后发现它是一个in-process COM服务器.

因为这4个标准入口点函数应该判定是一个in-process COM服务器

所以琢磨方向转移...可惜forums.ni.com上的例程都是LV的...

再次感谢TestCode!!!

俺继续琢磨~~~CVI不支持C++实在头晕...

in-process COM服务器简介
in-process COM服务器是DLL函数,可以创建COM对象供宿主应用程序使用。这种类型的COM服务器之所以被称为in-process,是因为DLL函数与调用它的应用程序在同一个进程内。一个in-process服务器必须导出下列四种标准入口点函数:
function DllRegisterServer: HResult; stdcall;
function DllUnregsiterServer: HResult; stdcall;
function DllGetClassaObject(const CLSID, IID: TGUID; var Obj): HResult; stdcall;
function DllCanUnloadNow: HResult; stdcall;


点击看大图



在rtdxint.dll内搜索的信息:
{
    RTDX = s 'RTDX Exported Interface'
    {
        CLSID = s '{2FE56670-3E4E-11D2-A964-006097A6A260}'
    }
    RTDX = s 'RTDX Exported Interface'
    {
        CurVer = s '1.0'
    }
    NoRemove CLSID
    {
        ForceRemove {2FE56670-3E4E-11D2-A964-006097A6A260} = s 'RTDX Exported Interface'
        {
            ProgID = s 'RTDX'
            VersionIndependentProgID = s 'RTDX'
            ForceRemove 'Programmable'
            InprocServer32 = s '%MODULE%'
            {
                val ThreadingModel = s 'Both'
            }
        }
    }
}


点击看大图


 

文章评论0条评论)

登录后参与讨论
我要评论
0
5
关闭 站长推荐上一条 /2 下一条