求教把几个win32汇编的代码换成C++的
时间:2011-12-11
来源:互联网
Assembly code
书上写的是个COM接口,用来实现选择目录的通用对话框
我不懂COM接口上面的那些看不懂不知道怎么写
我现在想把他用C++实现,上面那些代码要怎么写?
求教,顺便帮解释下COM接口之类的,谢了哈
externdef IID_IUnknown:IID LPUNKNOWN typedef DWORD LPPUNKNOWN typedef ptr LPUNKNOWN IUnknown_QueryInterfaceProto typedef proto :DWORD, :DWORD, :DWORD IUnknown_AddRefProto typedef proto :DWORD IUnknown_ReleaseProto typedef proto :DWORD IUnknown_QueryInterface typedef ptr IUnknown_QueryInterfaceProto IUnknown_AddRef typedef ptr IUnknown_AddRefProto IUnknown_Release typedef ptr IUnknown_ReleaseProto IUnknown struct DWORD QueryInterface IUnknown_QueryInterface ? AddRef IUnknown_AddRef ? Release IUnknown_Release ? IUnknown ends ;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> ;IMalloc Interface ;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> externdef IID_IMalloc:IID LPMALLOC typedef DWORD LPPMALLOC typedef ptr LPMALLOC IMalloc_AllocProto typedef proto :DWORD, :DWORD IMalloc_ReallocProto typedef proto :DWORD, :DWORD, :DWORD IMalloc_FreeProto typedef proto :DWORD, :DWORD IMalloc_GetSizeProto typedef proto :DWORD, :DWORD IMalloc_DidAllocProto typedef proto :DWORD, :DWORD IMalloc_HeapMinimizeProto typedef proto :DWORD IMalloc_Alloc typedef ptr IMalloc_AllocProto IMalloc_Realloc typedef ptr IMalloc_ReallocProto IMalloc_Free typedef ptr IMalloc_FreeProto IMalloc_GetSize typedef ptr IMalloc_GetSizeProto IMalloc_DidAlloc typedef ptr IMalloc_DidAllocProto IMalloc_HeapMinimize typedef ptr IMalloc_HeapMinimizeProto IMalloc struct DWORD QueryInterface IUnknown_QueryInterface ? AddRef IUnknown_AddRef ? Release IUnknown_Release ? Alloc IMalloc_Alloc ? Realloc IMalloc_Realloc ? Free IMalloc_Free ? GetSize IMalloc_GetSize ? DidAlloc IMalloc_DidAlloc ? HeapMinimize IMalloc_HeapMinimize ? IMalloc ends invoke (IMalloc PTR [eax]).Free,@stMalloc,@pidlParent invoke (IMalloc PTR [eax]).Release,@stMalloc
书上写的是个COM接口,用来实现选择目录的通用对话框
我不懂COM接口上面的那些看不懂不知道怎么写
我现在想把他用C++实现,上面那些代码要怎么写?
求教,顺便帮解释下COM接口之类的,谢了哈
作者: xuqiqw 发布时间: 2011-12-11
masm的宏汇编本类就和C语言结构类似
如函数声明
IMalloc_AllocProto typedef proto :DWORD, :DWORD
其实就是
IMalloc_AllocProto(DWORD,DWORD)
结构体也很清楚啊
如函数声明
IMalloc_AllocProto typedef proto :DWORD, :DWORD
其实就是
IMalloc_AllocProto(DWORD,DWORD)
结构体也很清楚啊
作者: jackyjkchen 发布时间: 2011-12-11
引用 1 楼 jackyjkchen 的回复:
masm的宏汇编本类就和C语言结构类似
如函数声明
IMalloc_AllocProto typedef proto :DWORD, :DWORD
其实就是
IMalloc_AllocProto(DWORD,DWORD)
结构体也很清楚啊
masm的宏汇编本类就和C语言结构类似
如函数声明
IMalloc_AllocProto typedef proto :DWORD, :DWORD
其实就是
IMalloc_AllocProto(DWORD,DWORD)
结构体也很清楚啊
externdef IID_IUnknown:IID这句
这个东西我换成extern IID IID_IUnknown没用额,别的文件也找不到有这个声明
作者: xuqiqw 发布时间: 2011-12-11
invoke (IMalloc PTR [eax]).Release,@stMalloc
还有这里的(IMalloc PTR [eax]).Release不清楚什么意思
还有这里的(IMalloc PTR [eax]).Release不清楚什么意思
作者: xuqiqw 发布时间: 2011-12-11
引用 3 楼 xuqiqw 的回复:
invoke (IMalloc PTR [eax]).Release,@stMalloc
还有这里的(IMalloc PTR [eax]).Release不清楚什么意思
invoke (IMalloc PTR [eax]).Release,@stMalloc
还有这里的(IMalloc PTR [eax]).Release不清楚什么意思
这里貌似和虚函数表有关,不用去管寄存器的细节,只管调函数就行
作者: jackyjkchen 发布时间: 2011-12-11
相关阅读 更多
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28