2 * PROJECT: ReactOS api tests
3 * LICENSE: GPL - See COPYING in the top level directory
4 * PURPOSE: Test for InitializeLpkHooks
5 * PROGRAMMERS: Magnus Olsen
11 typedef struct _LPK_LPEDITCONTROL_LIST
17 PVOID EditGetLineWidth
;
20 PVOID EditMoveSelection
;
24 PVOID EditProcessMenu
;
25 PVOID EditCreateCaret
;
26 PVOID EditAdjustCaret
;
27 } LPK_LPEDITCONTROL_LIST
, *PLPK_LPEDITCONTROL_LIST
;
30 DWORD (APIENTRY
*fpLpkTabbedTextOut
) (LPVOID
,LPVOID
,LPVOID
,LPVOID
,LPVOID
,LPVOID
,LPVOID
,LPVOID
,LPVOID
,LPVOID
,LPVOID
,LPVOID
);
31 DWORD (APIENTRY
*fpLpkPSMTextOut
) (LPVOID
,LPVOID
,LPVOID
,LPVOID
,LPVOID
,LPVOID
);
32 DWORD (APIENTRY
*fpLpkDrawTextEx
) (LPVOID
,LPVOID
,LPVOID
,LPVOID
,LPVOID
,LPVOID
,LPVOID
,LPVOID
,LPVOID
,LPVOID
);
33 PLPK_LPEDITCONTROL_LIST (APIENTRY
*fpLpkEditControl
) ();
35 int Count_myLpkTabbedTextOut
= 0;
36 int Count_myLpkPSMTextOut
= 0;
37 int Count_myLpkDrawTextEx
= 0;
39 DWORD WINAPI
myLpkTabbedTextOut (LPVOID x1
,LPVOID x2
,LPVOID x3
, LPVOID x4
, LPVOID x5
, LPVOID x6
, LPVOID x7
, LPVOID x8
,
40 LPVOID x9
, LPVOID x10
, LPVOID x11
, LPVOID x12
)
42 Count_myLpkTabbedTextOut
++;
43 return fpLpkTabbedTextOut(x1
, x2
, x3
, x4
, x5
, x6
, x7
, x8
, x9
, x10
, x11
, x12
);
46 DWORD
myLpkPSMTextOut (LPVOID x1
,LPVOID x2
,LPVOID x3
,LPVOID x4
,LPVOID x5
,LPVOID x6
)
48 Count_myLpkPSMTextOut
++;
49 return fpLpkPSMTextOut ( x1
, x2
, x3
, x4
, x5
, x6
);
52 DWORD
myLpkDrawTextEx(LPVOID x1
,LPVOID x2
,LPVOID x3
,LPVOID x4
,LPVOID x5
, LPVOID x6
, LPVOID x7
, LPVOID x8
, LPVOID x9
,LPVOID x10
)
54 Count_myLpkDrawTextEx
++;
55 return fpLpkDrawTextEx(x1
, x2
, x3
, x4
, x5
, x6
, x7
, x8
, x9
, x10
);
59 typedef struct _USER32_INTERN_INITALIZEHOOKS
61 PVOID fpLpkTabbedTextOut
;
62 PVOID fpLpkPSMTextOut
;
63 PVOID fpLpkDrawTextEx
;
64 PLPK_LPEDITCONTROL_LIST fpListLpkEditControl
;
65 } USER32_INTERN_INITALIZEHOOKS
, *PUSER32_INTERN_INITALIZEHOOKS
;
67 VOID WINAPI
InitializeLpkHooks (PUSER32_INTERN_INITALIZEHOOKS
);
69 void Test_InitializeLpkHooks()
71 USER32_INTERN_INITALIZEHOOKS setup
;
72 HMODULE lib
= LoadLibrary("LPK.DLL");
74 ok(lib
!= NULL
, "lib = 0\n");
77 fpLpkTabbedTextOut
= (DWORD (APIENTRY
*) (LPVOID
,LPVOID
,LPVOID
,LPVOID
,LPVOID
, LPVOID
,LPVOID
,LPVOID
,LPVOID
,LPVOID
,LPVOID
,LPVOID
)) GetProcAddress(lib
, "LpkTabbedTextOut");
78 fpLpkPSMTextOut
= (DWORD (APIENTRY
*) (LPVOID
,LPVOID
,LPVOID
,LPVOID
,LPVOID
,LPVOID
)) GetProcAddress(lib
, "fpLpkPSMTextOut");
79 fpLpkDrawTextEx
= (DWORD (APIENTRY
*) (LPVOID
,LPVOID
,LPVOID
,LPVOID
,LPVOID
,LPVOID
,LPVOID
,LPVOID
,LPVOID
,LPVOID
)) GetProcAddress(lib
, "LpkDrawTextEx");
80 fpLpkEditControl
= (PLPK_LPEDITCONTROL_LIST (APIENTRY
*) (VOID
)) GetProcAddress(lib
, "LpkEditControl");
82 setup
.fpLpkTabbedTextOut
= myLpkTabbedTextOut
;
83 setup
.fpLpkPSMTextOut
= myLpkPSMTextOut
;
84 setup
.fpLpkDrawTextEx
= myLpkDrawTextEx
;
86 /* we have not add any test to this api */
87 setup
.fpListLpkEditControl
= (PLPK_LPEDITCONTROL_LIST
)fpLpkEditControl
;
89 /* use our own api that we just made */
90 InitializeLpkHooks(&setup
);
92 /* FIXME add test now */
95 setup
.fpLpkTabbedTextOut
= fpLpkTabbedTextOut
;
96 setup
.fpLpkPSMTextOut
= fpLpkPSMTextOut
;
97 setup
.fpLpkDrawTextEx
= fpLpkDrawTextEx
;
98 setup
.fpListLpkEditControl
= (PLPK_LPEDITCONTROL_LIST
)fpLpkEditControl
;
99 InitializeLpkHooks(&setup
);
104 START_TEST(InitializeLpkHooks
)
106 Test_InitializeLpkHooks();