1*c2c66affSColin Finck #include "vdmdbg.h"
2*c2c66affSColin Finck
3*c2c66affSColin Finck #define NDEBUG
4*c2c66affSColin Finck #include <debug.h>
5*c2c66affSColin Finck
6*c2c66affSColin Finck HINSTANCE hDllInstance;
7*c2c66affSColin Finck
VDMBreakThread(HANDLE hProcess,HANDLE hThread)8*c2c66affSColin Finck BOOL WINAPI VDMBreakThread( HANDLE hProcess,
9*c2c66affSColin Finck HANDLE hThread )
10*c2c66affSColin Finck {
11*c2c66affSColin Finck UNIMPLEMENTED;
12*c2c66affSColin Finck return FALSE;
13*c2c66affSColin Finck }
14*c2c66affSColin Finck
VDMGetDbgFlags(HANDLE hProcess)15*c2c66affSColin Finck DWORD WINAPI VDMGetDbgFlags( HANDLE hProcess )
16*c2c66affSColin Finck {
17*c2c66affSColin Finck UNIMPLEMENTED;
18*c2c66affSColin Finck return ERROR_CALL_NOT_IMPLEMENTED;
19*c2c66affSColin Finck }
20*c2c66affSColin Finck
VDMIsModuleLoaded(LPSTR szPath)21*c2c66affSColin Finck BOOL WINAPI VDMIsModuleLoaded( LPSTR szPath )
22*c2c66affSColin Finck {
23*c2c66affSColin Finck UNIMPLEMENTED;
24*c2c66affSColin Finck return FALSE;
25*c2c66affSColin Finck }
26*c2c66affSColin Finck
VDMGetPointer(HANDLE handle,HANDLE handle2,WORD wSelector,DWORD dwOffset,BOOL fProtMode)27*c2c66affSColin Finck ULONG WINAPI VDMGetPointer( HANDLE handle,
28*c2c66affSColin Finck HANDLE handle2,
29*c2c66affSColin Finck WORD wSelector,
30*c2c66affSColin Finck DWORD dwOffset,
31*c2c66affSColin Finck BOOL fProtMode )
32*c2c66affSColin Finck {
33*c2c66affSColin Finck UNIMPLEMENTED;
34*c2c66affSColin Finck return ERROR_CALL_NOT_IMPLEMENTED;
35*c2c66affSColin Finck }
36*c2c66affSColin Finck
VDMProcessException(LPDEBUG_EVENT lpDebugEvent)37*c2c66affSColin Finck BOOL WINAPI VDMProcessException( LPDEBUG_EVENT lpDebugEvent )
38*c2c66affSColin Finck {
39*c2c66affSColin Finck UNIMPLEMENTED;
40*c2c66affSColin Finck return FALSE;
41*c2c66affSColin Finck }
42*c2c66affSColin Finck
VDMGetSegmentInfo(WORD word,ULONG ulong,BOOL boolVal,VDM_SEGINFO * pVDMSegInfo)43*c2c66affSColin Finck BOOL WINAPI VDMGetSegmentInfo( WORD word,
44*c2c66affSColin Finck ULONG ulong,
45*c2c66affSColin Finck BOOL boolVal,
46*c2c66affSColin Finck VDM_SEGINFO *pVDMSegInfo )
47*c2c66affSColin Finck {
48*c2c66affSColin Finck UNIMPLEMENTED;
49*c2c66affSColin Finck return FALSE;
50*c2c66affSColin Finck }
51*c2c66affSColin Finck
52*c2c66affSColin Finck
VDMSetDbgFlags(HANDLE hProcess,DWORD dwFlags)53*c2c66affSColin Finck BOOL WINAPI VDMSetDbgFlags( HANDLE hProcess,
54*c2c66affSColin Finck DWORD dwFlags )
55*c2c66affSColin Finck {
56*c2c66affSColin Finck UNIMPLEMENTED;
57*c2c66affSColin Finck return FALSE;
58*c2c66affSColin Finck }
59*c2c66affSColin Finck
VDMDetectWOW(void)60*c2c66affSColin Finck BOOL WINAPI VDMDetectWOW( void )
61*c2c66affSColin Finck {
62*c2c66affSColin Finck UNIMPLEMENTED;
63*c2c66affSColin Finck return FALSE;
64*c2c66affSColin Finck }
65*c2c66affSColin Finck
VDMEnumTaskWOW(DWORD dword,TASKENUMPROC TaskEnumProc,LPARAM lParam)66*c2c66affSColin Finck INT WINAPI VDMEnumTaskWOW( DWORD dword,
67*c2c66affSColin Finck TASKENUMPROC TaskEnumProc,
68*c2c66affSColin Finck LPARAM lParam )
69*c2c66affSColin Finck {
70*c2c66affSColin Finck UNIMPLEMENTED;
71*c2c66affSColin Finck return ERROR_CALL_NOT_IMPLEMENTED;
72*c2c66affSColin Finck }
73*c2c66affSColin Finck
VDMStartTaskInWOW(DWORD dwProcessId,LPSTR lpCommandLine,WORD wShow)74*c2c66affSColin Finck BOOL WINAPI VDMStartTaskInWOW( DWORD dwProcessId,
75*c2c66affSColin Finck LPSTR lpCommandLine,
76*c2c66affSColin Finck WORD wShow )
77*c2c66affSColin Finck {
78*c2c66affSColin Finck UNIMPLEMENTED;
79*c2c66affSColin Finck return FALSE;
80*c2c66affSColin Finck }
81*c2c66affSColin Finck
VDMKillWOW(VOID)82*c2c66affSColin Finck BOOL WINAPI VDMKillWOW( VOID )
83*c2c66affSColin Finck {
84*c2c66affSColin Finck UNIMPLEMENTED;
85*c2c66affSColin Finck return FALSE;
86*c2c66affSColin Finck }
87*c2c66affSColin Finck
VDMEnumProcessWOW(PROCESSENUMPROC ProcessEnumProc,LPARAM lParam)88*c2c66affSColin Finck INT WINAPI VDMEnumProcessWOW( PROCESSENUMPROC ProcessEnumProc,
89*c2c66affSColin Finck LPARAM lParam )
90*c2c66affSColin Finck {
91*c2c66affSColin Finck UNIMPLEMENTED;
92*c2c66affSColin Finck return ERROR_CALL_NOT_IMPLEMENTED;
93*c2c66affSColin Finck }
94*c2c66affSColin Finck
95*c2c66affSColin Finck
VDMEnumTaskWOWEx(DWORD dwProcessId,TASKENUMPROCEX TaskEnumProcEx,LPARAM lParam)96*c2c66affSColin Finck INT WINAPI VDMEnumTaskWOWEx( DWORD dwProcessId,
97*c2c66affSColin Finck TASKENUMPROCEX TaskEnumProcEx,
98*c2c66affSColin Finck LPARAM lParam )
99*c2c66affSColin Finck {
100*c2c66affSColin Finck UNIMPLEMENTED;
101*c2c66affSColin Finck return ERROR_CALL_NOT_IMPLEMENTED;
102*c2c66affSColin Finck }
103*c2c66affSColin Finck
VDMTerminateTaskWOW(DWORD dwProcessId,WORD hTask)104*c2c66affSColin Finck BOOL WINAPI VDMTerminateTaskWOW( DWORD dwProcessId,
105*c2c66affSColin Finck WORD hTask )
106*c2c66affSColin Finck {
107*c2c66affSColin Finck UNIMPLEMENTED;
108*c2c66affSColin Finck return FALSE;
109*c2c66affSColin Finck }
110*c2c66affSColin Finck
VDMGetContext(HANDLE handle,HANDLE handle2,LPVDMCONTEXT lpVDMContext)111*c2c66affSColin Finck BOOL WINAPI VDMGetContext( HANDLE handle,
112*c2c66affSColin Finck HANDLE handle2,
113*c2c66affSColin Finck LPVDMCONTEXT lpVDMContext )
114*c2c66affSColin Finck {
115*c2c66affSColin Finck UNIMPLEMENTED;
116*c2c66affSColin Finck return FALSE;
117*c2c66affSColin Finck }
118*c2c66affSColin Finck
VDMSetContext(HANDLE handle,HANDLE handle2,LPVDMCONTEXT lpVDMContext)119*c2c66affSColin Finck BOOL WINAPI VDMSetContext( HANDLE handle,
120*c2c66affSColin Finck HANDLE handle2,
121*c2c66affSColin Finck LPVDMCONTEXT lpVDMContext)
122*c2c66affSColin Finck {
123*c2c66affSColin Finck UNIMPLEMENTED;
124*c2c66affSColin Finck return FALSE;
125*c2c66affSColin Finck }
126*c2c66affSColin Finck
127*c2c66affSColin Finck
VDMGetSelectorModule(HANDLE handle,HANDLE handle2,WORD word,PUINT punit,LPSTR lpModuleName,UINT uInt,LPSTR lpstr,UINT uInt2)128*c2c66affSColin Finck BOOL WINAPI VDMGetSelectorModule( HANDLE handle,
129*c2c66affSColin Finck HANDLE handle2,
130*c2c66affSColin Finck WORD word,
131*c2c66affSColin Finck PUINT punit,
132*c2c66affSColin Finck LPSTR lpModuleName,
133*c2c66affSColin Finck UINT uInt,
134*c2c66affSColin Finck LPSTR lpstr,
135*c2c66affSColin Finck UINT uInt2 )
136*c2c66affSColin Finck {
137*c2c66affSColin Finck UNIMPLEMENTED;
138*c2c66affSColin Finck return FALSE;
139*c2c66affSColin Finck }
140*c2c66affSColin Finck
141*c2c66affSColin Finck
VDMGetModuleSelector(HANDLE handle,HANDLE handle2,UINT uInt,LPSTR lpModuleName,LPWORD lpword)142*c2c66affSColin Finck BOOL WINAPI VDMGetModuleSelector( HANDLE handle,
143*c2c66affSColin Finck HANDLE handle2,
144*c2c66affSColin Finck UINT uInt,
145*c2c66affSColin Finck LPSTR lpModuleName,
146*c2c66affSColin Finck LPWORD lpword )
147*c2c66affSColin Finck {
148*c2c66affSColin Finck UNIMPLEMENTED;
149*c2c66affSColin Finck return FALSE;
150*c2c66affSColin Finck }
151*c2c66affSColin Finck
VDMModuleFirst(HANDLE handle,HANDLE handle2,LPMODULEENTRY lpModuleEntry,DEBUGEVENTPROC lpDebugEventProc,LPVOID lpvoid)152*c2c66affSColin Finck BOOL WINAPI VDMModuleFirst( HANDLE handle,
153*c2c66affSColin Finck HANDLE handle2,
154*c2c66affSColin Finck LPMODULEENTRY lpModuleEntry,
155*c2c66affSColin Finck DEBUGEVENTPROC lpDebugEventProc,
156*c2c66affSColin Finck LPVOID lpvoid )
157*c2c66affSColin Finck {
158*c2c66affSColin Finck UNIMPLEMENTED;
159*c2c66affSColin Finck return FALSE;
160*c2c66affSColin Finck }
161*c2c66affSColin Finck
VDMGlobalFirst(HANDLE handle,HANDLE handle2,LPGLOBALENTRY lpGlobalEntry,WORD word,DEBUGEVENTPROC lpDebugEventProc,LPVOID lpvoid)162*c2c66affSColin Finck BOOL WINAPI VDMGlobalFirst( HANDLE handle,
163*c2c66affSColin Finck HANDLE handle2,
164*c2c66affSColin Finck LPGLOBALENTRY lpGlobalEntry,
165*c2c66affSColin Finck WORD word,
166*c2c66affSColin Finck DEBUGEVENTPROC lpDebugEventProc,
167*c2c66affSColin Finck LPVOID lpvoid )
168*c2c66affSColin Finck {
169*c2c66affSColin Finck UNIMPLEMENTED;
170*c2c66affSColin Finck return FALSE;
171*c2c66affSColin Finck }
172*c2c66affSColin Finck
VDMGlobalNext(HANDLE handle,HANDLE handle2,LPGLOBALENTRY lpGlobalEntry,WORD word,DEBUGEVENTPROC lpDebugEventProc,LPVOID lpvoid)173*c2c66affSColin Finck BOOL WINAPI VDMGlobalNext( HANDLE handle,
174*c2c66affSColin Finck HANDLE handle2,
175*c2c66affSColin Finck LPGLOBALENTRY lpGlobalEntry,
176*c2c66affSColin Finck WORD word,
177*c2c66affSColin Finck DEBUGEVENTPROC lpDebugEventProc,
178*c2c66affSColin Finck LPVOID lpvoid )
179*c2c66affSColin Finck {
180*c2c66affSColin Finck UNIMPLEMENTED;
181*c2c66affSColin Finck return FALSE;
182*c2c66affSColin Finck }
183*c2c66affSColin Finck
VDMModuleNext(HANDLE handle,HANDLE handle2,LPMODULEENTRY lpModuleEntry,DEBUGEVENTPROC lpDebugEventProc,LPVOID lpvoid)184*c2c66affSColin Finck BOOL WINAPI VDMModuleNext( HANDLE handle,
185*c2c66affSColin Finck HANDLE handle2,
186*c2c66affSColin Finck LPMODULEENTRY lpModuleEntry,
187*c2c66affSColin Finck DEBUGEVENTPROC lpDebugEventProc,
188*c2c66affSColin Finck LPVOID lpvoid )
189*c2c66affSColin Finck {
190*c2c66affSColin Finck UNIMPLEMENTED;
191*c2c66affSColin Finck return FALSE;
192*c2c66affSColin Finck }
193*c2c66affSColin Finck
194*c2c66affSColin Finck BOOL WINAPI
DllMain(IN HINSTANCE hinstDLL,IN DWORD dwReason,IN LPVOID lpvReserved)195*c2c66affSColin Finck DllMain( IN HINSTANCE hinstDLL,
196*c2c66affSColin Finck IN DWORD dwReason,
197*c2c66affSColin Finck IN LPVOID lpvReserved )
198*c2c66affSColin Finck {
199*c2c66affSColin Finck switch (dwReason)
200*c2c66affSColin Finck {
201*c2c66affSColin Finck case DLL_PROCESS_ATTACH:
202*c2c66affSColin Finck hDllInstance = hinstDLL;
203*c2c66affSColin Finck DisableThreadLibraryCalls(hDllInstance);
204*c2c66affSColin Finck /* Don't break, initialize first thread */
205*c2c66affSColin Finck case DLL_THREAD_ATTACH:
206*c2c66affSColin Finck break;
207*c2c66affSColin Finck case DLL_THREAD_DETACH:
208*c2c66affSColin Finck break;
209*c2c66affSColin Finck case DLL_PROCESS_DETACH:
210*c2c66affSColin Finck break;
211*c2c66affSColin Finck }
212*c2c66affSColin Finck return TRUE;
213*c2c66affSColin Finck }
214*c2c66affSColin Finck
215