7b2490841f73699b7a98ef3f694a104696babb1a
[reactos.git] / reactos / dll / win32 / windowscodecs / msvc-thiscall.c
1 #include "wincodecs_private.h"
2
3 #define DEFINE_THISCALL_WRAPPER(func,args) \
4 typedef struct {int x[args/4];} _tag_##func; \
5 void __stdcall func(_tag_##func p1); \
6 __declspec(naked) void __stdcall __thiscall_##func(_tag_##func p1) \
7 { \
8 __asm pop eax \
9 __asm push ecx \
10 __asm push eax \
11 __asm jmp func \
12 }
13
14 DEFINE_THISCALL_WRAPPER(IMILUnknown1Impl_unknown1, 8)
15 DEFINE_THISCALL_WRAPPER(IMILUnknown1Impl_unknown3, 8)
16 DEFINE_THISCALL_WRAPPER(IMILUnknown1Impl_unknown8, 4)