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