- 1、本文档共20页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
参考资料--cm技术初探二
三、纯手工创建一个COM组件
1、从建工程到实现注册
在这一过程中我们将完成三个步骤:创建dll的入口函数,定义接口文件,实现注册功能
1.1创建一个类型为win32 dll工程
创建一个名为MathCOM的win32 dll工程。
在向导的第二步选择"A smiple dll project"选项。当然如果你选择一个空的工程,那你自己完成DllMain定义吧。
1.2 定义接口文件
生成一个名为MathCOM.idl的接口文件。并将此文件加入到刚才创建的那个工程里。
HYPERLINK "/index.php/wv/675.html" \l "viewSource" \o "view source" view source
HYPERLINK "/index.php/wv/675.html" \l "printSource" \o "print" print HYPERLINK "/index.php/wv/675.html" \l "about" \o "?" ?
01.//MathCOM.idl文件
02.// MathCOM.idl : IDL source for MathCOM.dll
03.//
04.// This file will be processed by the MIDL tool to
05.// produce the type library (MathCOM.tlb) and marshalling code.
06.import "oaidl.idl";
07.import "ocidl.idl";
08.????[
09.????????uuid(FAEAE6B7-67BE-42a4-A318-3256781E945A),
10.????????helpstring("ISimpleMath Interface"),
11.????????object,
12.????????pointer_default(unique)
13.????]
14.????interface ISimpleMath : IUnknown
15.????{
16.????????HRESULT Add([in]int nOp1,[in]int nOp2,[out,retval]int * pret);
17.????????HRESULT Subtract([in]int nOp1,[in]int nOp2,[out,retval]int * pret);
18.????????HRESULT Multiply([in]int nOp1,[in]int nOp2,[out,retval] int * pret);
19.????????HRESULT Divide([in]int nOp1,[in]int nOp2,[out,retval]int * pret);
20.????};
21.??
22.????[
23.????????uuid(01147C39-9DA0-4f7f-B525-D129745AAD1E),
24.????????helpstring("IAdvancedMath Interface"),
25.????????object,
26.????????pointer_default(unique)
27.????]
28.????interface IAdvancedMath : IUnknown
29.????{
30.????????HRESULT Factorial([in]int nOp1,[out,retval]int * pret);
31.????????HRESULT Fabonacci([in]int nOp1,[out,retval]int * pret);
32.????};
33.[
34.????uuid(CA3B37EA-E44A-49b8-9729-6E9222CAE844),
35.????version(1.0),
36.????helpstring("MATHCOM 1.0 Type Library")
37.]
38.??
39.??
40.??
41.??
42.library MATHCOMLib
43.{
44.????importlib("stdole32.tlb");
45.????importlib("stdole2.tlb");
46.??
47.????[
48.????????uuid(3BCFE27E-C88D-453C-8C94-F5F7B97E7841),
49.????????helpstrin
您可能关注的文档
- 医学ppt--第三章外科病人的体液酸碱平衡失调第八版.ppt
- 医学ppt--第六章艾达·j奥兰多的护理程序理论.ppt
- 医学ppt--第六章护理本科老年人休息与活动.ppt
- 医学ppt--第四躯干骨折.ppt
- 医学ppt--第神经外科手术的麻醉.ppt
- 医学ppt--第六章第四躯干骨折学生版.ppt
- 医学ppt--第章孕期保健、营养与优生.ppt
- 医学ppt--糖尿病患者饮食护理.ppt
- 医学ppt--红狼疮梁梅英.ppt
- 医学ppt--经周导入中心静脉置管.ppt
- 本溪满族自治县凯捷房地产开发有限公司招聘笔试题库2024.pdf
- 鞍山市焱峰公路工程有限公司招聘笔试题库2024.pdf
- 五台县鸿远建设管理有限公司招聘笔试题库2024.pdf
- 忻州市忻府区农村集体经济发展有限公司招聘笔试题库2024.pdf
- 曲周县天蓝水质处理有限公司招聘笔试题库2024.pdf
- 包头固盛供水有限责任公司招聘笔试题库2024.pdf
- 临汾市尧都区农村集体经济发展有限责任公司招聘笔试题库2024.pdf
- 山西沃禾谷丰农牧综合开发有限公司招聘笔试题库2024.pdf
- 闻喜县水务投资建设开发有限公司招聘笔试题库2024.pdf
- 内蒙古红山玉研究开发有限公司招聘笔试题库2024.pdf
文档评论(0)