* Sync to trunk HEAD (r53298).
[reactos.git] / dll / win32 / rpcrt4 / msvc.S
1
2 #include <asm.inc>
3
4 .code32
5
6 EXTERN _ndr_client_call:PROC
7
8 PUBLIC _call_stubless_func
9 _call_stubless_func:
10
11 mov ecx,[esp+4] /* This Pointer */
12 mov ecx,[ecx] /* This->lpVtbl */
13 mov ecx,[ecx-8] /* MIDL_STUBLESS_PROXY_INFO */
14 mov edx,[ecx+8] /* Info->FormatStringOffset */
15 mov edx,[edx+eax*2] /* FormatStringOffset[index] */
16 and edx, 0000FFFFh
17 add edx,[ecx+4] /* info->ProcFormatString + offset */
18 mov eax, [edx+8] /* arguments size */
19 and eax, 0000FFFFh
20 push eax
21 lea eax, [esp+8] /* &This */
22 push eax
23 push edx /* format string */
24 push [ecx] /* info->pstubdesc */
25 call _ndr_client_call
26 lea esp, [esp+12]
27 pop edx /* arguments size */
28 mov ecx, [esp] /* return address */
29 add esp, edx
30 jmp ecx
31
32 END