VB Decompiler Forum Index VB Decompiler
Hosted by TheAutomaters.com
 
  MemberlistMemberlist
 

0F VCallAd / VCallI4

 
   VB Decompiler Forum Index -> Base
Author Message
Anonymous
New User


Joined: 10 Feb 2008
Posts: 0

Posted: Tue Nov 19, 2002 7:27 pm     Post subject: 0F VCallAd / VCallI4

NumBytes: 3
ArgStr: uc
SrcStr: |
Comments: controlindex = (arg - 760) / 4

Runtime debug:
[asm:3re0n41c]
  1. mov   ebx, [ebp-4Ch]                ; ebx = currentObject
  2. movzx eax, word ptr [esi]           ; eax = arg0
  3. push  ebx                           ; save currentObject
  4. cmp   _g_EventMonitorsEnabled, 0    ; if EventMonitors are enabled
  5. jnz   short lblEventMonitorsEnabled
  6. add   eax, [ebx]                    ; eax = currentObject.vtable(arg0)
  7. call  dword ptr [eax]               ; call proc at vtable
  8.  
  9. lblEndProc:
  10.   push  eax                           ; save method address
  11.  
  12. lblNextOpCode:
  13.   xor   eax, eax
  14.   mov   al, [esi+2]
  15.   add   esi, 3
  16.   jmp   ds:_tblByteDisp[eax*4]
  17.  
  18. lblEventMonitorsEnabled:
  19.   pusha
  20.   push  esp
  21.   push  eax
  22.   push  ebx
  23.   call  _VBAEventVtableCall@12        ; VBAEventVtableCall(x,x,x)
  24.   popa
  25.   add   eax, [ebx]
  26.   call  dword ptr [eax]
  27.   pusha
  28.   push  esp
  29.   call  _VBAEventProcExit@4           ; VBAEventProcExit(x)
  30.   popa
  31.   jmp   short lblEndProc
[/asm:3re0n41c]
Back to top
_aLfa_
Site Admin


Joined: 21 Sep 2002
Posts: 233
Location: Aveiro, Portugal

Posted: Tue Mar 11, 2008 10:50 am     Post subject: Re: 0F VCallAd

Microsoft latest debug information file for MSVBVM60.DLL SP6 calls this opcode VCallI4.

I'd like to know why do we call it VCallAd. VCallI4 means that we get a dword as a return value (which is the address to the control vtable). There is also VCallHresult, meaning we get a Hresult as a return value, etc...

For the sake of consistency I'll stick to Microsoft naming conventions only to make my life easier when debugging.
_________________
One thing only I know, and that is that I know nothing. (Socrates)
Back to top
   VB Decompiler Forum Index -> Base All times are GMT
Page 1 of 1

 
You can post new topics in this forum
You can reply to topics in this forum
You can edit your posts in this forum
You can delete your posts in this forum
You can vote in polls in this forum


Powered by phpBB © 2001, 2005 phpBB Group