📄 com32.inc
字号:
; Macroinstructions for interfacing the COM (Component Object Model) classes
macro cominvk object,proc,[arg]
{ common
if ~ arg eq
reverse
pushd arg
common
end if
mov eax,[object]
push eax
mov eax,[eax]
call [eax+object#.#proc] }
macro comcall handle,object,proc,[arg]
{ common
if ~ arg eq
reverse
pushd arg
common
end if
if handle eqtype eax | handle eqtype 0
push handle
local ..handle
label ..handle at handle
mov eax,[..handle]
else
mov eax,handle
push eax
mov eax,[eax]
end if
call [eax+object#.#proc] }
macro interface name,[proc]
{ common
struc name \{
match any, fields@struct \\{ fields@struct equ fields@struct,.,name, \\}
match , fields@struct \\{ . dd ?
virtual at 0
forward
.#proc dd ?
common
end virtual \\} \}
virtual at 0
forward
name#.#proc dd ?
common
end virtual }
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -