| Anonymous New User
 
 
 Joined: 10 Feb 2008
 Posts: 0
 
 
 | 
				
					| Posted: Tue Nov 19, 2002 7:27 pm
							    Post subject: 0D VCallHresult |  
					| 
 |  
					| NumBytes: 5 ArgStr: vw
 SrcStr: %p1
 Comments:
 
 Runtime engine:
 [asm:3re0n41c]
 [/asm:3re0n41c]movzx  eax, word ptr [esi]           ; eax = opcode arg0 (offset to method)mov    ecx, [ebp-4Ch]                ; ecx = current objectmovzx  ebx, word ptr [esi+2]         ; ebx = opcode arg1push   ecxmov    edi, eax                      ; edi = eaxcmp    _g_EventMonitorsEnabled, 0jnz    short lblEventMonitorsEnabled ; if event monitors are enabledadd    eax, [ecx]                    ; eax = offset to current object methodcall   dword ptr [eax]               ; call this method lblExitProc:    mov    edx, [ebp-44h]    test   word ptr [edx+76h], 2    jnz    short lblForceReset    or     eax, eax    js     short lblRaiseHresultErr    fnclex    xor    eax, eax                      ; get next opcode and parse it    mov    al, [esi+4]    add    esi, 5    jmp    ds:_tblByteDisp[eax*4] lblEventMonitorsEnabled:    pusha    push   esp    push   eax    push   ecx    call   _VBAEventVtableCall@12        ; VBAEventVtableCall(x,x,x)    popa    add    eax, [ecx]    call   dword ptr [eax]    pusha    push   esp    call   _VBAEventProcExit@4           ; VBAEventProcExit(x)    popa    jmp    short lblExitProc lblForceReset:    mov    eax, 9C68h    jmp    ErrorEAX lblRaiseHresultErr:    mov    edx, [ebp-54h]    push   edi    cmp    ax, 9C68h    jnz    short lblExHandleFailure    mov    ax, 1B8h lblExHandleFailure:    push   dword ptr [edx+ebx*4]    push   dword ptr [ebp-4Ch]    push   eax    call   _ExHandleFailure@16           ; ExHandleFailure(x,x,x,x)
 |  |