⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 comptrassign.asm

📁 这是一个数字图像处理的matlab仿真程序
💻 ASM
字号:
;-------------------------------------------------------------------------------
;  colibrary procedure ComPtrAssign 
;
; -------------------------------------------------------
; This procedure was written by Ernest Murphy    9/27/00
;
;  revised 1/10/01 to add S_OK retval
;
; Copyright (c) 9/28/00  Ernest Murphy
; For educational use only. Any commercial re-use only by written license
;
; -------------------------------------------------------
.NOLIST
.386
.model flat, stdcall  ; 32 bit memory model
option casemap :none  ; case sensitive

include     mini_win.inc
include     \masm32\COM\include\oaidl.inc

.code
;-------------------------------------------------------------------------------

ComPtrAssign PROC PUBLIC pp:DWORD, lp:DWORD

;-------------------------------------------------------------------------------
; COM 'smart' pointer assignment
; (we can't do smart pointers, but this routine is handy none the less)
;
; performes pp <== lp
;
;  first releases any existing pointer in pp
;  performs the AddRef on lp
;
; EXAMPLE:
; invoke ComPtrAssign, ADDR pointerB, ADDR pointerA
;
; Uses: eax, ecx, edx
;
;
;-------------------------------------------------------------------------------

    .IF lp
        coinvoke lp, IUnknown, AddRef
    .ENDIF
    mov ecx, pp
    mov ecx, [ecx]
    .IF ecx
        coinvoke ecx, IUnknown, Release
    .ENDIF
    mov eax, lp
    mov ecx, pp
    mov [ecx], eax
    xor eax, eax    ; return S_OK
    ret
ComPtrAssign ENDP
;-------------------------------------------------------------------------------

end

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -