ReactOS Fundraising Campaign 2012
 
€ 4,410 / € 30,000

Information | Donate

Home | Info | Community | Development | myReactOS | Contact Us

  1. Home
  2. Community
  3. Development
  4. myReactOS
  5. Fundraiser 2012

  1. Main Page
  2. Alphabetical List
  3. Data Structures
  4. Directories
  5. File List
  6. Data Fields
  7. Globals
  8. Related Pages

ReactOS Development > Doxygen

msvc-thiscall.c
Go to the documentation of this file.
00001 #include "config.h"
00002 #include "editor.h"
00003 
00004 #define DEFINE_THISCALL_WRAPPER(func,args) \
00005     typedef struct {int x[args/4];} _tag_##func; \
00006     void __stdcall func(_tag_##func p1); \
00007     __declspec(naked) void __stdcall __thiscall_##func(_tag_##func p1) \
00008     { \
00009         __asm pop eax \
00010         __asm push ecx \
00011         __asm push eax \
00012         __asm jmp func \
00013     }
00014 
00015 DEFINE_THISCALL_WRAPPER(ITextHostImpl_TxGetDC,4)
00016 DEFINE_THISCALL_WRAPPER(ITextHostImpl_TxReleaseDC,8)
00017 DEFINE_THISCALL_WRAPPER(ITextHostImpl_TxShowScrollBar,12)
00018 DEFINE_THISCALL_WRAPPER(ITextHostImpl_TxEnableScrollBar,12)
00019 DEFINE_THISCALL_WRAPPER(ITextHostImpl_TxSetScrollRange,20)
00020 DEFINE_THISCALL_WRAPPER(ITextHostImpl_TxSetScrollPos,16)
00021 DEFINE_THISCALL_WRAPPER(ITextHostImpl_TxInvalidateRect,12)
00022 DEFINE_THISCALL_WRAPPER(ITextHostImpl_TxViewChange,8)
00023 DEFINE_THISCALL_WRAPPER(ITextHostImpl_TxCreateCaret,16)
00024 DEFINE_THISCALL_WRAPPER(ITextHostImpl_TxShowCaret,8)
00025 DEFINE_THISCALL_WRAPPER(ITextHostImpl_TxSetCaretPos,12)
00026 DEFINE_THISCALL_WRAPPER(ITextHostImpl_TxSetTimer,12)
00027 DEFINE_THISCALL_WRAPPER(ITextHostImpl_TxKillTimer,8)
00028 DEFINE_THISCALL_WRAPPER(ITextHostImpl_TxScrollWindowEx,32)
00029 DEFINE_THISCALL_WRAPPER(ITextHostImpl_TxSetCapture,8)
00030 DEFINE_THISCALL_WRAPPER(ITextHostImpl_TxSetFocus,4)
00031 DEFINE_THISCALL_WRAPPER(ITextHostImpl_TxSetCursor,12)
00032 DEFINE_THISCALL_WRAPPER(ITextHostImpl_TxScreenToClient,8)
00033 DEFINE_THISCALL_WRAPPER(ITextHostImpl_TxClientToScreen,8)
00034 DEFINE_THISCALL_WRAPPER(ITextHostImpl_TxActivate,8)
00035 DEFINE_THISCALL_WRAPPER(ITextHostImpl_TxDeactivate,8)
00036 DEFINE_THISCALL_WRAPPER(ITextHostImpl_TxGetClientRect,8)
00037 DEFINE_THISCALL_WRAPPER(ITextHostImpl_TxGetViewInset,8)
00038 DEFINE_THISCALL_WRAPPER(ITextHostImpl_TxGetCharFormat,8)
00039 DEFINE_THISCALL_WRAPPER(ITextHostImpl_TxGetParaFormat,8)
00040 DEFINE_THISCALL_WRAPPER(ITextHostImpl_TxGetSysColor,8)
00041 DEFINE_THISCALL_WRAPPER(ITextHostImpl_TxGetBackStyle,8)
00042 DEFINE_THISCALL_WRAPPER(ITextHostImpl_TxGetMaxLength,8)
00043 DEFINE_THISCALL_WRAPPER(ITextHostImpl_TxGetScrollBars,8)
00044 DEFINE_THISCALL_WRAPPER(ITextHostImpl_TxGetPasswordChar,8)
00045 DEFINE_THISCALL_WRAPPER(ITextHostImpl_TxGetAcceleratorPos,8)
00046 DEFINE_THISCALL_WRAPPER(ITextHostImpl_TxGetExtent,8)
00047 DEFINE_THISCALL_WRAPPER(ITextHostImpl_OnTxCharFormatChange,8)
00048 DEFINE_THISCALL_WRAPPER(ITextHostImpl_OnTxParaFormatChange,8)
00049 DEFINE_THISCALL_WRAPPER(ITextHostImpl_TxGetPropertyBits,12)
00050 DEFINE_THISCALL_WRAPPER(ITextHostImpl_TxNotify,12)
00051 DEFINE_THISCALL_WRAPPER(ITextHostImpl_TxImmGetContext,4)
00052 DEFINE_THISCALL_WRAPPER(ITextHostImpl_TxImmReleaseContext,8)
00053 DEFINE_THISCALL_WRAPPER(ITextHostImpl_TxGetSelectionBarWidth,8)
00054 
00055 #define DEFINE_STDCALL_WRAPPER(num,func,args) \
00056     __declspec(naked) void __stdcall __stdcall_##func(_tag_##func p1) \
00057     { \
00058         __asm pop eax \
00059         __asm pop ecx \
00060         __asm push eax \
00061         __asm mov eax, [ecx] \
00062         __asm jmp dword ptr [eax + 4*num] \
00063     }
00064 
00065 DEFINE_STDCALL_WRAPPER(3,ITextHostImpl_TxGetDC,4)
00066 DEFINE_STDCALL_WRAPPER(4,ITextHostImpl_TxReleaseDC,8)
00067 DEFINE_STDCALL_WRAPPER(5,ITextHostImpl_TxShowScrollBar,12)
00068 DEFINE_STDCALL_WRAPPER(6,ITextHostImpl_TxEnableScrollBar,12)
00069 DEFINE_STDCALL_WRAPPER(7,ITextHostImpl_TxSetScrollRange,20)
00070 DEFINE_STDCALL_WRAPPER(8,ITextHostImpl_TxSetScrollPos,16)
00071 DEFINE_STDCALL_WRAPPER(9,ITextHostImpl_TxInvalidateRect,12)
00072 DEFINE_STDCALL_WRAPPER(10,ITextHostImpl_TxViewChange,8)
00073 DEFINE_STDCALL_WRAPPER(11,ITextHostImpl_TxCreateCaret,16)
00074 DEFINE_STDCALL_WRAPPER(12,ITextHostImpl_TxShowCaret,8)
00075 DEFINE_STDCALL_WRAPPER(13,ITextHostImpl_TxSetCaretPos,12)
00076 DEFINE_STDCALL_WRAPPER(14,ITextHostImpl_TxSetTimer,12)
00077 DEFINE_STDCALL_WRAPPER(15,ITextHostImpl_TxKillTimer,8)
00078 DEFINE_STDCALL_WRAPPER(16,ITextHostImpl_TxScrollWindowEx,32)
00079 DEFINE_STDCALL_WRAPPER(17,ITextHostImpl_TxSetCapture,8)
00080 DEFINE_STDCALL_WRAPPER(18,ITextHostImpl_TxSetFocus,4)
00081 DEFINE_STDCALL_WRAPPER(19,ITextHostImpl_TxSetCursor,12)
00082 DEFINE_STDCALL_WRAPPER(20,ITextHostImpl_TxScreenToClient,8)
00083 DEFINE_STDCALL_WRAPPER(21,ITextHostImpl_TxClientToScreen,8)
00084 DEFINE_STDCALL_WRAPPER(22,ITextHostImpl_TxActivate,8)
00085 DEFINE_STDCALL_WRAPPER(23,ITextHostImpl_TxDeactivate,8)
00086 DEFINE_STDCALL_WRAPPER(24,ITextHostImpl_TxGetClientRect,8)
00087 DEFINE_STDCALL_WRAPPER(25,ITextHostImpl_TxGetViewInset,8)
00088 DEFINE_STDCALL_WRAPPER(26,ITextHostImpl_TxGetCharFormat,8)
00089 DEFINE_STDCALL_WRAPPER(27,ITextHostImpl_TxGetParaFormat,8)
00090 DEFINE_STDCALL_WRAPPER(28,ITextHostImpl_TxGetSysColor,8)
00091 DEFINE_STDCALL_WRAPPER(29,ITextHostImpl_TxGetBackStyle,8)
00092 DEFINE_STDCALL_WRAPPER(30,ITextHostImpl_TxGetMaxLength,8)
00093 DEFINE_STDCALL_WRAPPER(31,ITextHostImpl_TxGetScrollBars,8)
00094 DEFINE_STDCALL_WRAPPER(32,ITextHostImpl_TxGetPasswordChar,8)
00095 DEFINE_STDCALL_WRAPPER(33,ITextHostImpl_TxGetAcceleratorPos,8)
00096 DEFINE_STDCALL_WRAPPER(34,ITextHostImpl_TxGetExtent,8)
00097 DEFINE_STDCALL_WRAPPER(35,ITextHostImpl_OnTxCharFormatChange,8)
00098 DEFINE_STDCALL_WRAPPER(36,ITextHostImpl_OnTxParaFormatChange,8)
00099 DEFINE_STDCALL_WRAPPER(37,ITextHostImpl_TxGetPropertyBits,12)
00100 DEFINE_STDCALL_WRAPPER(38,ITextHostImpl_TxNotify,12)
00101 DEFINE_STDCALL_WRAPPER(39,ITextHostImpl_TxImmGetContext,4)
00102 DEFINE_STDCALL_WRAPPER(40,ITextHostImpl_TxImmReleaseContext,8)
00103 DEFINE_STDCALL_WRAPPER(41,ITextHostImpl_TxGetSelectionBarWidth,8)
00104 
00105 DEFINE_THISCALL_WRAPPER(fnTextSrv_TxSendMessage,20)
00106 DEFINE_THISCALL_WRAPPER(fnTextSrv_TxDraw,52)
00107 DEFINE_THISCALL_WRAPPER(fnTextSrv_TxGetHScroll,24)
00108 DEFINE_THISCALL_WRAPPER(fnTextSrv_TxGetVScroll,24)
00109 DEFINE_THISCALL_WRAPPER(fnTextSrv_OnTxSetCursor,40)
00110 DEFINE_THISCALL_WRAPPER(fnTextSrv_TxQueryHitPoint,44)
00111 DEFINE_THISCALL_WRAPPER(fnTextSrv_OnTxInplaceActivate,8)
00112 DEFINE_THISCALL_WRAPPER(fnTextSrv_OnTxInplaceDeactivate,4)
00113 DEFINE_THISCALL_WRAPPER(fnTextSrv_OnTxUIActivate,4)
00114 DEFINE_THISCALL_WRAPPER(fnTextSrv_OnTxUIDeactivate,4)
00115 DEFINE_THISCALL_WRAPPER(fnTextSrv_TxGetText,8)
00116 DEFINE_THISCALL_WRAPPER(fnTextSrv_TxSetText,8)
00117 DEFINE_THISCALL_WRAPPER(fnTextSrv_TxGetCurrentTargetX,8)
00118 DEFINE_THISCALL_WRAPPER(fnTextSrv_TxGetBaseLinePos,8)
00119 DEFINE_THISCALL_WRAPPER(fnTextSrv_TxGetNaturalSize,36)
00120 DEFINE_THISCALL_WRAPPER(fnTextSrv_TxGetDropTarget,8)
00121 DEFINE_THISCALL_WRAPPER(fnTextSrv_OnTxPropertyBitsChange,12)
00122 DEFINE_THISCALL_WRAPPER(fnTextSrv_TxGetCachedSize,12)

Generated on Fri May 25 2012 04:23:59 for ReactOS by doxygen 1.7.6.1

ReactOS is a registered trademark or a trademark of ReactOS Foundation in the United States and other countries.