2 * PROJECT: ReactOS api tests
3 * LICENSE: GPL - See COPYING in the top level directory
4 * PURPOSE: Test for InitializeLpkHooks
5 * PROGRAMMERS: Magnus Olsen
13 typedef struct _LPK_LPEDITCONTROL_LIST
19 PVOID EditGetLineWidth
;
22 PVOID EditMoveSelection
;
26 PVOID EditProcessMenu
;
27 PVOID EditCreateCaret
;
28 PVOID EditAdjustCaret
;
29 } LPK_LPEDITCONTROL_LIST
, *PLPK_LPEDITCONTROL_LIST
;
32 DWORD (APIENTRY
*fpLpkTabbedTextOut
) (LPVOID
,LPVOID
,LPVOID
,LPVOID
,LPVOID
,LPVOID
,LPVOID
,LPVOID
,LPVOID
,LPVOID
,LPVOID
,LPVOID
);
33 DWORD (APIENTRY
*fpLpkPSMTextOut
) (LPVOID
,LPVOID
,LPVOID
,LPVOID
,LPVOID
,LPVOID
);
34 DWORD (APIENTRY
*fpLpkDrawTextEx
) (LPVOID
,LPVOID
,LPVOID
,LPVOID
,LPVOID
,LPVOID
,LPVOID
,LPVOID
,LPVOID
,LPVOID
);
35 PLPK_LPEDITCONTROL_LIST (APIENTRY
*fpLpkEditControl
) ();
37 int Count_myLpkTabbedTextOut
= 0;
38 int Count_myLpkPSMTextOut
= 0;
39 int Count_myLpkDrawTextEx
= 0;
41 DWORD WINAPI
myLpkTabbedTextOut (LPVOID x1
,LPVOID x2
,LPVOID x3
, LPVOID x4
, LPVOID x5
, LPVOID x6
, LPVOID x7
, LPVOID x8
,
42 LPVOID x9
, LPVOID x10
, LPVOID x11
, LPVOID x12
)
44 Count_myLpkTabbedTextOut
++;
45 return fpLpkTabbedTextOut(x1
, x2
, x3
, x4
, x5
, x6
, x7
, x8
, x9
, x10
, x11
, x12
);
48 DWORD
myLpkPSMTextOut (LPVOID x1
,LPVOID x2
,LPVOID x3
,LPVOID x4
,LPVOID x5
,LPVOID x6
)
50 Count_myLpkPSMTextOut
++;
51 return fpLpkPSMTextOut ( x1
, x2
, x3
, x4
, x5
, x6
);
54 DWORD
myLpkDrawTextEx(LPVOID x1
,LPVOID x2
,LPVOID x3
,LPVOID x4
,LPVOID x5
, LPVOID x6
, LPVOID x7
, LPVOID x8
, LPVOID x9
,LPVOID x10
)
56 Count_myLpkDrawTextEx
++;
57 return fpLpkDrawTextEx(x1
, x2
, x3
, x4
, x5
, x6
, x7
, x8
, x9
, x10
);
61 typedef struct _USER32_INTERN_INITALIZEHOOKS
63 PVOID fpLpkTabbedTextOut
;
64 PVOID fpLpkPSMTextOut
;
65 PVOID fpLpkDrawTextEx
;
66 PLPK_LPEDITCONTROL_LIST fpListLpkEditControl
;
67 } USER32_INTERN_INITALIZEHOOKS
, *PUSER32_INTERN_INITALIZEHOOKS
;
69 VOID WINAPI
InitializeLpkHooks (PUSER32_INTERN_INITALIZEHOOKS
);
71 void Test_InitializeLpkHooks()
73 USER32_INTERN_INITALIZEHOOKS setup
;
74 HMODULE lib
= LoadLibrary("LPK.DLL");
76 ok(lib
!= NULL
, "lib = 0\n");
79 fpLpkTabbedTextOut
= (DWORD (APIENTRY
*) (LPVOID
,LPVOID
,LPVOID
,LPVOID
,LPVOID
, LPVOID
,LPVOID
,LPVOID
,LPVOID
,LPVOID
,LPVOID
,LPVOID
)) GetProcAddress(lib
, "LpkTabbedTextOut");
80 fpLpkPSMTextOut
= (DWORD (APIENTRY
*) (LPVOID
,LPVOID
,LPVOID
,LPVOID
,LPVOID
,LPVOID
)) GetProcAddress(lib
, "fpLpkPSMTextOut");
81 fpLpkDrawTextEx
= (DWORD (APIENTRY
*) (LPVOID
,LPVOID
,LPVOID
,LPVOID
,LPVOID
,LPVOID
,LPVOID
,LPVOID
,LPVOID
,LPVOID
)) GetProcAddress(lib
, "LpkDrawTextEx");
82 fpLpkEditControl
= (PLPK_LPEDITCONTROL_LIST (APIENTRY
*) (VOID
)) GetProcAddress(lib
, "LpkEditControl");
84 setup
.fpLpkTabbedTextOut
= myLpkTabbedTextOut
;
85 setup
.fpLpkPSMTextOut
= myLpkPSMTextOut
;
86 setup
.fpLpkDrawTextEx
= myLpkDrawTextEx
;
88 /* we have not add any test to this api */
89 setup
.fpListLpkEditControl
= (PLPK_LPEDITCONTROL_LIST
)fpLpkEditControl
;
91 /* use our own api that we just made */
92 InitializeLpkHooks(&setup
);
94 /* FIXME add test now */
97 setup
.fpLpkTabbedTextOut
= fpLpkTabbedTextOut
;
98 setup
.fpLpkPSMTextOut
= fpLpkPSMTextOut
;
99 setup
.fpLpkDrawTextEx
= fpLpkDrawTextEx
;
100 setup
.fpListLpkEditControl
= (PLPK_LPEDITCONTROL_LIST
)fpLpkEditControl
;
101 InitializeLpkHooks(&setup
);
106 START_TEST(InitializeLpkHooks
)
108 Test_InitializeLpkHooks();