source: trunk/src/imagehlp/imagehlp.cpp@ 736

Last change on this file since 736 was 736, checked in by sandervl, 26 years ago

Initial creation

File size: 22.5 KB
Line 
1/* $Id: imagehlp.cpp,v 1.1 1999-08-29 14:54:54 sandervl Exp $ */
2/*
3 * IMAGEHLP library
4 *
5 * Copyright 1998 Patrik Stridvall
6 * Copyright 1999 Jens Wiessner
7 */
8
9#include <os2win.h>
10#include <debugdefs.h>
11#include <imagehlp.h>
12#include <heapstring.h>
13#include "debugtools.h"
14
15DEFAULT_DEBUG_CHANNEL(imagehlp)
16
17
18/***********************************************************************
19 * Data
20 */
21
22static PLOADED_IMAGE IMAGEHLP_pFirstLoadedImage=NULL;
23static PLOADED_IMAGE IMAGEHLP_pLastLoadedImage=NULL;
24
25static LOADED_IMAGE IMAGEHLP_EmptyLoadedImage = {
26 NULL, /* ModuleName */
27 0xffffffff, /* hFile */
28 NULL, /* MappedAddress */
29 NULL, /* FileHeader */
30 NULL, /* LastRvaSection */
31 0, /* NumberOfSections */
32 NULL, /* Sections */
33 1, /* Characteristics */
34 FALSE, /* fSystemImage */
35 FALSE, /* fDOSImage */
36 { &IMAGEHLP_EmptyLoadedImage.Links, &IMAGEHLP_EmptyLoadedImage.Links }, /* Links */
37 148, /* SizeOfImage; */
38};
39
40
41/**********************************************************************/
42
43HANDLE IMAGEHLP_hHeap = (HANDLE) NULL;
44
45static API_VERSION IMAGEHLP_ApiVersion = { 4, 0, 0, 5 };
46
47/***********************************************************************
48 * IMAGEHLP_LibMain (IMAGEHLP.init)
49 */
50BOOL WINAPI IMAGEHLP_LibMain(
51 HINSTANCE hinstDLL, DWORD fdwReason, LPVOID lpvReserved)
52{
53 switch(fdwReason)
54 {
55 case DLL_PROCESS_ATTACH:
56 IMAGEHLP_hHeap = HeapCreate(0, 0x10000, 0);
57 break;
58 case DLL_PROCESS_DETACH:
59 HeapDestroy(IMAGEHLP_hHeap);
60 IMAGEHLP_hHeap = (HANDLE) NULL;
61 break;
62 case DLL_THREAD_ATTACH:
63 break;
64 case DLL_THREAD_DETACH:
65 break;
66 default:
67 break;
68 }
69 return TRUE;
70}
71
72
73/***********************************************************************
74 * BindImage32 (IMAGEHLP.1)
75 */
76BOOL WINAPI BindImage(
77 LPSTR ImageName, LPSTR DllPath, LPSTR SymbolPath)
78{
79 return BindImageEx(0, ImageName, DllPath, SymbolPath, NULL);
80}
81
82/***********************************************************************
83 * BindImageEx32 (IMAGEHLP.2)
84 */
85BOOL WINAPI BindImageEx(
86 DWORD Flags, LPSTR ImageName, LPSTR DllPath, LPSTR SymbolPath,
87 PIMAGEHLP_STATUS_ROUTINE StatusRoutine)
88{
89 SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
90 return FALSE;
91}
92
93/***********************************************************************
94 * CheckSumMappedFile32 (IMAGEHLP.3)
95 */
96PIMAGE_NT_HEADERS WINAPI CheckSumMappedFile(
97 LPVOID BaseAddress, DWORD FileLength,
98 LPDWORD HeaderSum, LPDWORD CheckSum)
99{
100 SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
101 return NULL;
102}
103
104/***********************************************************************
105 * EnumerateLoadedModules32 (IMAGEHLP.4)
106 */
107BOOL WINAPI EnumerateLoadedModules(
108 HANDLE hProcess,
109 PENUMLOADED_MODULES_CALLBACK EnumLoadedModulesCallback,
110 PVOID UserContext)
111{
112 SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
113 return FALSE;
114}
115
116/***********************************************************************
117 * FindDebugInfoFile32 (IMAGEHLP.5)
118 */
119HANDLE WINAPI FindDebugInfoFile(
120 LPSTR FileName, LPSTR SymbolPath, LPSTR DebugFilePath)
121{
122 SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
123 return (HANDLE) NULL;
124}
125
126/***********************************************************************
127 * FindExecutableImage32 (IMAGEHLP.6)
128 */
129HANDLE WINAPI FindExecutableImage(
130 LPSTR FileName, LPSTR SymbolPath, LPSTR ImageFilePath)
131{
132 SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
133 return (HANDLE) NULL;
134}
135
136/***********************************************************************
137 * GetImageConfigInformation32 (IMAGEHLP.7)
138 */
139BOOL WINAPI GetImageConfigInformation(
140 PLOADED_IMAGE LoadedImage,
141 PIMAGE_LOAD_CONFIG_DIRECTORY ImageConfigInformation)
142{
143 SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
144 return FALSE;
145}
146
147/***********************************************************************
148 * GetImageUnusedHeaderBytes32 (IMAGEHLP.8)
149 */
150DWORD WINAPI GetImageUnusedHeaderBytes(
151 PLOADED_IMAGE LoadedImage,
152 LPDWORD SizeUnusedHeaderBytes)
153{
154 SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
155 return 0;
156}
157
158/***********************************************************************
159 * GetTimestampForLoadedLibrary32 (IMAGEHLP.9)
160 */
161DWORD WINAPI GetTimestampForLoadedLibrary(HMODULE Module)
162{
163 SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
164 return 0;
165}
166
167/***********************************************************************
168 * ImageAddCertificate32 (IMAGEHLP.10)
169 */
170
171BOOL WINAPI ImageAddCertificate(
172 HANDLE FileHandle, PWIN_CERTIFICATE Certificate, PDWORD Index)
173{
174 SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
175 return FALSE;
176}
177
178/***********************************************************************
179 * ImageDirectoryEntryToData32 (IMAGEHLP.11)
180 */
181PVOID WINAPI ImageDirectoryEntryToData(
182 PVOID Base, BOOLEAN MappedAsImage, USHORT DirectoryEntry, PULONG Size)
183{
184 SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
185 return NULL;
186}
187
188/***********************************************************************
189 * ImageEnumerateCertificates32 (IMAGEHLP.12)
190 */
191BOOL WINAPI ImageEnumerateCertificates(
192 HANDLE FileHandle, WORD TypeFilter, PDWORD CertificateCount,
193 PDWORD Indices, DWORD IndexCount)
194{
195 SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
196 return FALSE;
197}
198
199/***********************************************************************
200 * ImageGetCertificateData32 (IMAGEHLP.13)
201 */
202BOOL WINAPI ImageGetCertificateData(
203 HANDLE FileHandle, DWORD CertificateIndex,
204 PWIN_CERTIFICATE Certificate, PDWORD RequiredLength)
205{
206 SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
207 return FALSE;
208}
209
210/***********************************************************************
211 * ImageGetCertificateHeader32 (IMAGEHLP.14)
212 */
213BOOL WINAPI ImageGetCertificateHeader(
214 HANDLE FileHandle, DWORD CertificateIndex,
215 PWIN_CERTIFICATE Certificateheader)
216{
217 SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
218 return FALSE;
219}
220
221/***********************************************************************
222 * ImageGetDigestStream32 (IMAGEHLP.15)
223 */
224BOOL WINAPI ImageGetDigestStream(
225 HANDLE FileHandle, DWORD DigestLevel,
226 DIGEST_FUNCTION DigestFunction, DIGEST_HANDLE DigestHandle)
227{
228 SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
229 return FALSE;
230}
231
232/***********************************************************************
233 * ImageLoad32 (IMAGEHLP.16)
234 */
235PLOADED_IMAGE WINAPI ImageLoad(LPSTR DllName, LPSTR DllPath)
236{
237// FIXME-JW PLOADED_IMAGE pLoadedImage = HeapAlloc (IMAGEHLP_hHeap, 0, sizeof(LOADED_IMAGE));
238// FIXME-JW return pLoadedImage;
239 return NULL;
240}
241
242/***********************************************************************
243 * ImageNtHeader32 (IMAGEHLP.17)
244 */
245PIMAGE_NT_HEADERS WINAPI ImageNtHeader(PVOID Base)
246{
247 return (PIMAGE_NT_HEADERS)
248 ((LPBYTE) Base + ((PIMAGE_DOS_HEADER) Base)->e_lfanew);
249}
250
251/***********************************************************************
252 * ImageRemoveCertificate32 (IMAGEHLP.18)
253 */
254BOOL WINAPI ImageRemoveCertificate(HANDLE FileHandle, DWORD Index)
255{
256 SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
257 return FALSE;
258}
259
260/***********************************************************************
261 * ImageRvaToSection32 (IMAGEHLP.19)
262 */
263PIMAGE_SECTION_HEADER WINAPI ImageRvaToSection(
264 PIMAGE_NT_HEADERS NtHeaders, PVOID Base, ULONG Rva)
265{
266 SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
267 return NULL;
268}
269
270/***********************************************************************
271 * ImageRvaToVa32 (IMAGEHLP.20)
272 */
273PVOID WINAPI ImageRvaToVa(
274 PIMAGE_NT_HEADERS NtHeaders, PVOID Base, ULONG Rva,
275 PIMAGE_SECTION_HEADER *LastRvaSection)
276{
277 SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
278 return NULL;
279}
280
281/***********************************************************************
282 * ImageUnload32 (IMAGEHLP.21)
283 */
284BOOL WINAPI ImageUnload(PLOADED_IMAGE pLoadedImage)
285{
286 LIST_ENTRY *pCurrent, *pFind;
287 if(!IMAGEHLP_pFirstLoadedImage || !pLoadedImage)
288 {
289 /* No image loaded or null pointer */
290 SetLastError(ERROR_INVALID_PARAMETER);
291 return FALSE;
292 }
293
294 pFind=&pLoadedImage->Links;
295 pCurrent=&IMAGEHLP_pFirstLoadedImage->Links;
296 while((pCurrent != pFind) &&
297 (pCurrent != NULL))
298 pCurrent = pCurrent->Flink;
299 if(!pCurrent)
300 {
301 /* Not found */
302 SetLastError(ERROR_INVALID_PARAMETER);
303 return FALSE;
304 }
305
306 if(pCurrent->Blink)
307 pCurrent->Blink->Flink = pCurrent->Flink;
308 else
309 IMAGEHLP_pFirstLoadedImage = pCurrent->Flink?CONTAINING_RECORD(
310 pCurrent->Flink, LOADED_IMAGE, Links):NULL;
311
312 if(pCurrent->Flink)
313 pCurrent->Flink->Blink = pCurrent->Blink;
314 else
315 IMAGEHLP_pLastLoadedImage = pCurrent->Blink?CONTAINING_RECORD(
316 pCurrent->Blink, LOADED_IMAGE, Links):NULL;
317
318 return FALSE;
319}
320
321
322/***********************************************************************
323 * ImagehlpApiVersion32 (IMAGEHLP.22)
324 */
325PAPI_VERSION WINAPI ImagehlpApiVersion()
326{
327 return &IMAGEHLP_ApiVersion;
328}
329
330/***********************************************************************
331 * ImagehlpApiVersionEx32 (IMAGEHLP.23)
332 */
333PAPI_VERSION WINAPI ImagehlpApiVersionEx(PAPI_VERSION AppVersion)
334{
335 if(!AppVersion)
336 return NULL;
337
338 AppVersion->MajorVersion = IMAGEHLP_ApiVersion.MajorVersion;
339 AppVersion->MinorVersion = IMAGEHLP_ApiVersion.MinorVersion;
340 AppVersion->Revision = IMAGEHLP_ApiVersion.Revision;
341 AppVersion->Reserved = IMAGEHLP_ApiVersion.Reserved;
342
343 return AppVersion;
344}
345
346/***********************************************************************
347 * MakeSureDirectoryPathExists32 (IMAGEHLP.24)
348 */
349BOOL WINAPI MakeSureDirectoryPathExists(LPCSTR DirPath)
350{
351 SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
352 return FALSE;
353}
354
355/***********************************************************************
356 * MapAndLoad32 (IMAGEHLP.25)
357 */
358BOOL WINAPI MapAndLoad(
359 LPSTR pszImageName, LPSTR pszDllPath, PLOADED_IMAGE pLoadedImage,
360 BOOL bDotDll, BOOL bReadOnly)
361{
362 CHAR szFileName[MAX_PATH];
363 HANDLE hFile = (HANDLE) NULL;
364 HANDLE hFileMapping = (HANDLE) NULL;
365 HMODULE hModule = (HMODULE) NULL;
366 PIMAGE_NT_HEADERS pNtHeader = NULL;
367
368 /* PathCombine(&szFileName, pszDllPath, pszImageName); */
369 /* PathRenameExtension(&szFileName, bDotDll?:"dll":"exe"); */
370
371 /* FIXME: Check if the file already loaded (use IMAGEHLP_pFirstLoadedImage32) */
372 if(!(hFile = CreateFileA(
373 szFileName, GENERIC_READ, 1, /* FIXME: FILE_SHARE_READ not defined */
374 NULL, OPEN_EXISTING, 0, (HANDLE) NULL)))
375 {
376 SetLastError(ERROR_FILE_NOT_FOUND);
377 goto Error;
378 }
379
380 if(!(hFileMapping = CreateFileMappingA(
381 hFile, NULL, PAGE_READONLY | SEC_COMMIT, 0, 0, NULL)))
382 {
383 DWORD dwLastError = GetLastError();
384// WARN("CreateFileMapping: Error = %ld\n", dwLastError);
385 SetLastError(dwLastError);
386 goto Error;
387 }
388 CloseHandle(hFile);
389 hFile = (HANDLE) NULL;
390
391 if(!(hModule = (HMODULE) MapViewOfFile(
392 hFileMapping, FILE_MAP_READ, 0, 0, 0)))
393 {
394 DWORD dwLastError = GetLastError();
395// WARN("MapViewOfFile: Error = %ld\n", dwLastError);
396 SetLastError(dwLastError);
397 goto Error;
398 }
399
400 CloseHandle(hFileMapping);
401 hFileMapping=(HANDLE) NULL;
402
403 pLoadedImage = (PLOADED_IMAGE) HeapAlloc(
404 IMAGEHLP_hHeap, 0, sizeof(LOADED_IMAGE)
405 );
406
407 pNtHeader = ImageNtHeader((PVOID) hModule);
408
409 pLoadedImage->ModuleName =
410 HEAP_strdupA(IMAGEHLP_hHeap, 0, pszDllPath); /* FIXME: Correct? */
411 pLoadedImage->hFile = hFile;
412 pLoadedImage->MappedAddress = (PUCHAR) hModule;
413 pLoadedImage->FileHeader = pNtHeader;
414 pLoadedImage->Sections = (PIMAGE_SECTION_HEADER)
415 ((LPBYTE) &pNtHeader->OptionalHeader +
416 pNtHeader->FileHeader.SizeOfOptionalHeader);
417 pLoadedImage->NumberOfSections =
418 pNtHeader->FileHeader.NumberOfSections;
419 pLoadedImage->SizeOfImage =
420 pNtHeader->OptionalHeader.SizeOfImage;
421 pLoadedImage->Characteristics =
422 pNtHeader->FileHeader.Characteristics;
423 pLoadedImage->LastRvaSection = pLoadedImage->Sections;
424
425 pLoadedImage->fSystemImage = FALSE; /* FIXME */
426 pLoadedImage->fDOSImage = FALSE; /* FIXME */
427
428 /* FIXME: Make thread safe */
429 pLoadedImage->Links.Flink = NULL;
430 pLoadedImage->Links.Blink = &IMAGEHLP_pLastLoadedImage->Links;
431 if(IMAGEHLP_pLastLoadedImage)
432 IMAGEHLP_pLastLoadedImage->Links.Flink = &pLoadedImage->Links;
433 IMAGEHLP_pLastLoadedImage = pLoadedImage;
434 if(!IMAGEHLP_pFirstLoadedImage)
435 IMAGEHLP_pFirstLoadedImage = pLoadedImage;
436
437 return TRUE;
438
439Error:
440 if(hModule)
441 UnmapViewOfFile((PVOID) hModule);
442 if(hFileMapping)
443 CloseHandle(hFileMapping);
444 if(hFile)
445 CloseHandle(hFile);
446 return FALSE;
447}
448
449/***********************************************************************
450 * MapDebugInformation32 (IMAGEHLP.26)
451 */
452PIMAGE_DEBUG_INFORMATION WINAPI MapDebugInformation(
453 HANDLE FileHandle, LPSTR FileName,
454 LPSTR SymbolPath, DWORD ImageBase)
455{
456 SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
457 return NULL;
458}
459
460/***********************************************************************
461 * MapFileAndCheckSum32A (IMAGEHLP.27)
462 */
463DWORD WINAPI MapFileAndCheckSumA(
464 LPSTR Filename, LPDWORD HeaderSum, LPDWORD CheckSum)
465{
466 SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
467 return CHECKSUM_OPEN_FAILURE;
468}
469
470/***********************************************************************
471 * MapFileAndCheckSum32W (IMAGEHLP.28)
472 */
473DWORD WINAPI MapFileAndCheckSumW(
474 LPWSTR Filename, LPDWORD HeaderSum, LPDWORD CheckSum)
475{
476 SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
477 return CHECKSUM_OPEN_FAILURE;
478}
479
480/***********************************************************************
481 * MarkImageAsRunFromSwap (IMAGEHLP.29)
482 * FIXME
483 * No documentation available.
484 */
485
486/***********************************************************************
487 * ReBaseImage32 (IMAGEHLP.30)
488 */
489BOOL WINAPI ReBaseImage(
490 LPSTR CurrentImageName, LPSTR SymbolPath, BOOL fReBase,
491 BOOL fRebaseSysfileOk, BOOL fGoingDown, ULONG CheckImageSize,
492 ULONG *OldImageSize, ULONG *OldImageBase, ULONG *NewImageSize,
493 ULONG *NewImageBase, ULONG TimeStamp)
494{
495 SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
496 return FALSE;
497}
498
499/***********************************************************************
500 * RemovePrivateCvSymbolic32 (IMAGEHLP.31)
501 */
502BOOL WINAPI RemovePrivateCvSymbolic(
503 PCHAR DebugData, PCHAR *NewDebugData, ULONG *NewDebugSize)
504{
505 SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
506 return FALSE;
507}
508
509/***********************************************************************
510 * RemoveRelocations32 (IMAGEHLP.32)
511 */
512VOID WINAPI RemoveRelocations(PCHAR ImageName)
513{
514 SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
515}
516
517
518/***********************************************************************
519 * SearchTreeForFile32 (IMAGEHLP.33)
520 */
521BOOL WINAPI SearchTreeForFile(
522 LPSTR RootPath, LPSTR InputPathName, LPSTR OutputPathBuffer)
523{
524 SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
525 return FALSE;
526}
527
528/***********************************************************************
529 * SetImageConfigInformation32 (IMAGEHLP.34)
530 */
531BOOL WINAPI SetImageConfigInformation(
532 PLOADED_IMAGE LoadedImage,
533 PIMAGE_LOAD_CONFIG_DIRECTORY ImageConfigInformation)
534{
535 SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
536 return FALSE;
537}
538
539/***********************************************************************
540 * SplitSymbols32 (IMAGEHLP.35)
541 */
542BOOL WINAPI SplitSymbols(
543 LPSTR ImageName, LPSTR SymbolsPath,
544 LPSTR SymbolFilePath, DWORD Flags)
545{
546 SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
547 return FALSE;
548}
549
550/***********************************************************************
551 * StackWalk32 (IMAGEHLP.36)
552 */
553BOOL WINAPI StackWalk(
554 DWORD MachineType, HANDLE hProcess, HANDLE hThread,
555 PSTACKFRAME StackFrame, PVOID ContextRecord,
556 PREAD_PROCESS_MEMORY_ROUTINE ReadMemoryRoutine,
557 PFUNCTION_TABLE_ACCESS_ROUTINE FunctionTableAccessRoutine,
558 PGET_MODULE_BASE_ROUTINE GetModuleBaseRoutine,
559 PTRANSLATE_ADDRESS_ROUTINE TranslateAddress)
560{
561 SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
562 return FALSE;
563}
564
565/***********************************************************************
566 * SymCleanup32 (IMAGEHLP.37)
567 */
568BOOL WINAPI SymCleanup(HANDLE hProcess)
569{
570 SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
571 return FALSE;
572}
573
574/***********************************************************************
575 * SymEnumerateModules32 (IMAGEHLP.38)
576 */
577
578BOOL WINAPI SymEnumerateModules(
579 HANDLE hProcess, PSYM_ENUMMODULES_CALLBACK EnumModulesCallback,
580 PVOID UserContext)
581{
582 SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
583 return FALSE;
584}
585
586/***********************************************************************
587 * SymEnumerateSymbols32 (IMAGEHLP.39)
588 */
589BOOL WINAPI SymEnumerateSymbols(
590 HANDLE hProcess, DWORD BaseOfDll,
591 PSYM_ENUMSYMBOLS_CALLBACK EnumSymbolsCallback, PVOID UserContext)
592{
593 SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
594 return FALSE;
595}
596
597/***********************************************************************
598 * SymFunctionTableAccess32 (IMAGEHLP.40)
599 */
600PVOID WINAPI SymFunctionTableAccess(HANDLE hProcess, DWORD AddrBase)
601{
602 SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
603 return FALSE;
604}
605
606/***********************************************************************
607 * SymGetModuleBase32 (IMAGEHLP.41)
608 */
609DWORD WINAPI SymGetModuleBase(HANDLE hProcess, DWORD dwAddr)
610{
611 SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
612 return 0;
613}
614
615/***********************************************************************
616 * SymGetModuleInfo32 (IMAGEHLP.42)
617 */
618BOOL WINAPI SymGetModuleInfo(
619 HANDLE hProcess, DWORD dwAddr,
620 PIMAGEHLP_MODULE ModuleInfo)
621{
622 SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
623 return FALSE;
624}
625
626/***********************************************************************
627 * SymGetOptions32 (IMAGEHLP.43)
628 */
629DWORD WINAPI SymGetOptions()
630{
631 SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
632 return 0;
633}
634
635/***********************************************************************
636 * SymGetSearchPath32 (IMAGEHLP.44)
637 */
638BOOL WINAPI SymGetSearchPath(
639 HANDLE hProcess, LPSTR szSearchPath, DWORD SearchPathLength)
640{
641 SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
642 return FALSE;
643}
644
645/***********************************************************************
646 * SymGetSymFromAddr32 (IMAGEHLP.45)
647 */
648BOOL WINAPI SymGetSymFromAddr(
649 HANDLE hProcess, DWORD dwAddr,
650 PDWORD pdwDisplacement, PIMAGEHLP_SYMBOL Symbol)
651{
652 SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
653 return FALSE;
654}
655
656/***********************************************************************
657 * SymGetSymFromName32 (IMAGEHLP.46)
658 */
659BOOL WINAPI SymGetSymFromName(
660 HANDLE hProcess, LPSTR Name, PIMAGEHLP_SYMBOL Symbol)
661{
662 SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
663 return FALSE;
664}
665
666/***********************************************************************
667 * SymGetSymNext32 (IMAGEHLP.47)
668 */
669BOOL WINAPI SymGetSymNext(
670 HANDLE hProcess, PIMAGEHLP_SYMBOL Symbol)
671{
672 SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
673 return FALSE;
674}
675
676/***********************************************************************
677 * SymGetSymPrev32 (IMAGEHLP.48)
678 */
679
680BOOL WINAPI SymGetSymPrev(
681 HANDLE hProcess, PIMAGEHLP_SYMBOL Symbol)
682{
683 SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
684 return FALSE;
685}
686
687/***********************************************************************
688 * SymInitialize32 (IMAGEHLP.49)
689 */
690BOOL WINAPI SymInitialize(
691 HANDLE hProcess, LPSTR UserSearchPath, BOOL fInvadeProcess)
692{
693 SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
694 return FALSE;
695}
696
697/***********************************************************************
698 * SymLoadModule32 (IMAGEHLP.50)
699 */
700
701BOOL WINAPI SymLoadModule(
702 HANDLE hProcess, HANDLE hFile, LPSTR ImageName, LPSTR ModuleName,
703 DWORD BaseOfDll, DWORD SizeOfDll)
704{
705 SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
706 return FALSE;
707}
708
709/***********************************************************************
710 * SymRegisterCallback32 (IMAGEHLP.51)
711 */
712BOOL WINAPI SymRegisterCallback(
713 HANDLE hProcess, PSYMBOL_REGISTERED_CALLBACK CallbackFunction,
714 PVOID UserContext)
715{
716 SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
717 return FALSE;
718}
719
720/***********************************************************************
721 * SymSetOptions32 (IMAGEHLP.52)
722 */
723DWORD WINAPI SymSetOptions(DWORD SymOptions)
724{
725 SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
726 return 0;
727}
728
729/***********************************************************************
730 * SymSetSearchPath32 (IMAGEHLP.53)
731 */
732BOOL WINAPI SymSetSearchPath(HANDLE hProcess, LPSTR szSearchPath)
733{
734 SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
735 return FALSE;
736}
737
738/***********************************************************************
739 * SymUnDName32 (IMAGEHLP.54)
740 */
741BOOL WINAPI SymUnDName(
742 PIMAGEHLP_SYMBOL sym, LPSTR UnDecName, DWORD UnDecNameLength)
743{
744 SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
745 return FALSE;
746}
747
748/***********************************************************************
749 * SymUnloadModule32 (IMAGEHLP.55)
750 */
751BOOL WINAPI SymUnloadModule(
752 HANDLE hProcess, DWORD BaseOfDll)
753{
754 SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
755 return FALSE;
756}
757
758/***********************************************************************
759 * TouchFileTimes32 (IMAGEHLP.56)
760 */
761BOOL WINAPI TouchFileTimes(
762 HANDLE FileHandle, LPSYSTEMTIME lpSystemTime)
763{
764 SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
765 return FALSE;
766}
767
768/***********************************************************************
769 * UnDecorateSymbolName32 (IMAGEHLP.57)
770 */
771DWORD WINAPI UnDecorateSymbolName(
772 LPCSTR DecoratedName, LPSTR UnDecoratedName,
773 DWORD UndecoratedLength, DWORD Flags)
774{
775 SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
776 return 0;
777}
778
779/***********************************************************************
780 * UnMapAndLoad32 (IMAGEHLP.58)
781 */
782BOOL WINAPI UnMapAndLoad(PLOADED_IMAGE LoadedImage)
783{
784 SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
785 return FALSE;
786}
787
788/***********************************************************************
789 * UnmapDebugInformation32 (IMAGEHLP.59)
790 */
791
792BOOL WINAPI UnmapDebugInformation(
793 PIMAGE_DEBUG_INFORMATION DebugInfo)
794{
795 SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
796 return FALSE;
797}
798
799/***********************************************************************
800 * UpdateDebugInfoFile32 (IMAGEHLP.60)
801 */
802BOOL WINAPI UpdateDebugInfoFile(
803 LPSTR ImageFileName, LPSTR SymbolPath,
804 LPSTR DebugFilePath, PIMAGE_NT_HEADERS NtHeaders)
805{
806 SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
807 return FALSE;
808}
809
810/***********************************************************************
811 * UpdateDebugInfoFileEx32 (IMAGEHLP.?)
812 * FIXME
813 * Function has no ordinal.
814 */
815BOOL WINAPI UpdateDebugInfoFileEx(
816 LPSTR ImageFileName, LPSTR SymbolPath, LPSTR DebugFilePath,
817 PIMAGE_NT_HEADERS NtHeaders, DWORD OldChecksum)
818{
819 SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
820 return FALSE;
821}
822
Note: See TracBrowser for help on using the repository browser.