- Timestamp:
- May 30, 2000, 12:31:30 AM (25 years ago)
- Location:
- trunk/src/imagehlp
- Files:
-
- 5 added
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/imagehlp/imagehlp.cpp
r1710 r3634 1 /* $Id: imagehlp.cpp,v 1.3 1999-11-12 11:38:39 sandervl Exp $ */2 1 /* 3 2 * IMAGEHLP library 4 3 * 5 4 * Copyright 1998 Patrik Stridvall 6 * Copyright 1999 Jens Wiessner7 5 */ 8 6 … … 13 11 14 12 ODINDEBUGCHANNEL(imagehlp) 15 16 /***********************************************************************17 * Data18 */19 20 static PLOADED_IMAGE IMAGEHLP_pFirstLoadedImage=NULL;21 static PLOADED_IMAGE IMAGEHLP_pLastLoadedImage=NULL;22 23 static LOADED_IMAGE IMAGEHLP_EmptyLoadedImage = {24 NULL, /* ModuleName */25 0xffffffff, /* hFile */26 NULL, /* MappedAddress */27 NULL, /* FileHeader */28 NULL, /* LastRvaSection */29 0, /* NumberOfSections */30 NULL, /* Sections */31 1, /* Characteristics */32 FALSE, /* fSystemImage */33 FALSE, /* fDOSImage */34 { &IMAGEHLP_EmptyLoadedImage.Links, &IMAGEHLP_EmptyLoadedImage.Links }, /* Links */35 148, /* SizeOfImage; */36 };37 38 13 39 14 /**********************************************************************/ … … 68 43 } 69 44 70 71 45 /*********************************************************************** 72 * BindImage (IMAGEHLP.1) 73 */ 74 BOOL WINAPI BindImage( 75 LPSTR ImageName, LPSTR DllPath, LPSTR SymbolPath) 76 { 77 #ifdef DEBUG 78 dprintf(("IMAGEHLP: BindImage\n")); 79 #endif 80 return BindImageEx(0, ImageName, DllPath, SymbolPath, NULL); 81 } 82 83 84 /*********************************************************************** 85 * BindImageEx (IMAGEHLP.2) 86 */ 87 BOOL WINAPI BindImageEx( 88 DWORD Flags, LPSTR ImageName, LPSTR DllPath, LPSTR SymbolPath, 89 PIMAGEHLP_STATUS_ROUTINE StatusRoutine) 90 { 91 #ifdef DEBUG 92 dprintf(("IMAGEHLP: BindImageEx not implemented\n")); 93 #endif 94 SetLastError(ERROR_CALL_NOT_IMPLEMENTED); 95 return FALSE; 96 } 97 98 /*********************************************************************** 99 * CheckSumMappedFile (IMAGEHLP.3) 100 */ 101 PIMAGE_NT_HEADERS WINAPI CheckSumMappedFile( 102 LPVOID BaseAddress, DWORD FileLength, 103 LPDWORD HeaderSum, LPDWORD CheckSum) 104 { 105 #ifdef DEBUG 106 dprintf(("IMAGEHLP: CheckSumMappedFile not implemented\n")); 107 #endif 108 SetLastError(ERROR_CALL_NOT_IMPLEMENTED); 109 return NULL; 110 } 111 112 113 /*********************************************************************** 114 * EnumerateLoadedModules (IMAGEHLP.4) 115 */ 116 BOOL WINAPI EnumerateLoadedModules( 117 HANDLE hProcess, 118 PENUMLOADED_MODULES_CALLBACK EnumLoadedModulesCallback, 119 PVOID UserContext) 120 { 121 #ifdef DEBUG 122 dprintf(("IMAGEHLP: EnumerateLoadedModules not implemented\n")); 123 #endif 124 SetLastError(ERROR_CALL_NOT_IMPLEMENTED); 125 return FALSE; 126 } 127 128 129 /*********************************************************************** 130 * FindDebugInfoFile (IMAGEHLP.5) 131 */ 132 HANDLE WINAPI FindDebugInfoFile( 133 LPSTR FileName, LPSTR SymbolPath, LPSTR DebugFilePath) 134 { 135 #ifdef DEBUG 136 dprintf(("IMAGEHLP: FindDebugInfoFile not implemented\n")); 137 #endif 138 SetLastError(ERROR_CALL_NOT_IMPLEMENTED); 139 return (HANDLE) NULL; 140 } 141 142 143 /*********************************************************************** 144 * FindExecutableImage (IMAGEHLP.6) 145 */ 146 HANDLE WINAPI FindExecutableImage( 147 LPSTR FileName, LPSTR SymbolPath, LPSTR ImageFilePath) 148 { 149 #ifdef DEBUG 150 dprintf(("IMAGEHLP: FindExecutableImage not implemented\n")); 151 #endif 152 SetLastError(ERROR_CALL_NOT_IMPLEMENTED); 153 return (HANDLE) NULL; 154 } 155 156 157 /*********************************************************************** 158 * GetImageConfigInformation (IMAGEHLP.7) 159 */ 160 BOOL WINAPI GetImageConfigInformation( 161 PLOADED_IMAGE LoadedImage, 162 PIMAGE_LOAD_CONFIG_DIRECTORY ImageConfigInformation) 163 { 164 #ifdef DEBUG 165 dprintf(("IMAGEHLP: GetImageConfigInformation not implemented\n")); 166 #endif 167 SetLastError(ERROR_CALL_NOT_IMPLEMENTED); 168 return FALSE; 169 } 170 171 172 /*********************************************************************** 173 * GetImageUnusedHeaderBytes (IMAGEHLP.8) 174 */ 175 DWORD WINAPI GetImageUnusedHeaderBytes( 176 PLOADED_IMAGE LoadedImage, 177 LPDWORD SizeUnusedHeaderBytes) 178 { 179 #ifdef DEBUG 180 dprintf(("IMAGEHLP: GetImageUnusedHeaderBytes not implemented\n")); 181 #endif 182 SetLastError(ERROR_CALL_NOT_IMPLEMENTED); 183 return 0; 184 } 185 186 187 /*********************************************************************** 188 * GetTimestampForLoadedLibrary (IMAGEHLP.9) 189 */ 190 DWORD WINAPI GetTimestampForLoadedLibrary(HMODULE Module) 191 { 192 #ifdef DEBUG 193 dprintf(("IMAGEHLP: GetTimestampForLoadedLibrary not implemented\n")); 194 #endif 195 SetLastError(ERROR_CALL_NOT_IMPLEMENTED); 196 return 0; 197 } 198 199 200 /*********************************************************************** 201 * ImageAddCertificate (IMAGEHLP.10) 202 */ 203 204 BOOL WINAPI ImageAddCertificate( 205 HANDLE FileHandle, PWIN_CERTIFICATE Certificate, PDWORD Index) 206 { 207 #ifdef DEBUG 208 dprintf(("IMAGEHLP: ImageAddCertificate not implemented\n")); 209 #endif 210 SetLastError(ERROR_CALL_NOT_IMPLEMENTED); 211 return FALSE; 212 } 213 214 /*********************************************************************** 215 * ImageDirectoryEntryToData (IMAGEHLP.11) 216 */ 217 PVOID WINAPI ImageDirectoryEntryToData( 218 PVOID Base, BOOLEAN MappedAsImage, USHORT DirectoryEntry, PULONG Size) 219 { 220 #ifdef DEBUG 221 dprintf(("IMAGEHLP: ImageDirectoryEntryToData not implemented\n")); 222 #endif 223 SetLastError(ERROR_CALL_NOT_IMPLEMENTED); 224 return NULL; 225 } 226 227 /*********************************************************************** 228 * ImageEnumerateCertificates (IMAGEHLP.12) 229 */ 230 BOOL WINAPI ImageEnumerateCertificates( 231 HANDLE FileHandle, WORD TypeFilter, PDWORD CertificateCount, 232 PDWORD Indices, DWORD IndexCount) 233 { 234 #ifdef DEBUG 235 dprintf(("IMAGEHLP: ImageEnumerateCertificates not implemented\n")); 236 #endif 237 SetLastError(ERROR_CALL_NOT_IMPLEMENTED); 238 return FALSE; 239 } 240 241 /*********************************************************************** 242 * ImageGetCertificateData (IMAGEHLP.13) 243 */ 244 BOOL WINAPI ImageGetCertificateData( 245 HANDLE FileHandle, DWORD CertificateIndex, 246 PWIN_CERTIFICATE Certificate, PDWORD RequiredLength) 247 { 248 #ifdef DEBUG 249 dprintf(("IMAGEHLP: ImageGetCertificateData not implemented\n")); 250 #endif 251 SetLastError(ERROR_CALL_NOT_IMPLEMENTED); 252 return FALSE; 253 } 254 255 /*********************************************************************** 256 * ImageGetCertificateHeader (IMAGEHLP.14) 257 */ 258 BOOL WINAPI ImageGetCertificateHeader( 259 HANDLE FileHandle, DWORD CertificateIndex, 260 PWIN_CERTIFICATE Certificateheader) 261 { 262 #ifdef DEBUG 263 dprintf(("IMAGEHLP: ImageGetCertificateHeader not implemented\n")); 264 #endif 265 SetLastError(ERROR_CALL_NOT_IMPLEMENTED); 266 return FALSE; 267 } 268 269 /*********************************************************************** 270 * ImageGetDigestStream (IMAGEHLP.15) 271 */ 272 BOOL WINAPI ImageGetDigestStream( 273 HANDLE FileHandle, DWORD DigestLevel, 274 DIGEST_FUNCTION DigestFunction, DIGEST_HANDLE DigestHandle) 275 { 276 #ifdef DEBUG 277 dprintf(("IMAGEHLP: ImageGetDigestStream not implemented\n")); 278 #endif 279 SetLastError(ERROR_CALL_NOT_IMPLEMENTED); 280 return FALSE; 281 } 282 283 /*********************************************************************** 284 * ImageLoad (IMAGEHLP.16) 285 */ 286 PLOADED_IMAGE WINAPI ImageLoad(LPSTR DllName, LPSTR DllPath) 287 { 288 #ifdef DEBUG 289 dprintf(("IMAGEHLP: ImageLoad not implemented\n")); 290 #endif 291 // FIXME-JW PLOADED_IMAGE pLoadedImage = HeapAlloc (IMAGEHLP_hHeap, 0, sizeof(LOADED_IMAGE)); 292 // FIXME-JW return pLoadedImage; 293 return NULL; 294 } 295 296 /*********************************************************************** 297 * ImageNtHeader (IMAGEHLP.17) 298 */ 299 PIMAGE_NT_HEADERS WINAPI ImageNtHeader(PVOID Base) 300 { 301 #ifdef DEBUG 302 dprintf(("IMAGEHLP: ImageNtHeader\n")); 303 #endif 304 return (PIMAGE_NT_HEADERS) 305 ((LPBYTE) Base + ((PIMAGE_DOS_HEADER) Base)->e_lfanew); 306 } 307 308 /*********************************************************************** 309 * ImageRemoveCertificate (IMAGEHLP.18) 310 */ 311 BOOL WINAPI ImageRemoveCertificate(HANDLE FileHandle, DWORD Index) 312 { 313 #ifdef DEBUG 314 dprintf(("IMAGEHLP: ImageRemoveCertificate not implemented\n")); 315 #endif 316 SetLastError(ERROR_CALL_NOT_IMPLEMENTED); 317 return FALSE; 318 } 319 320 /*********************************************************************** 321 * ImageRvaToSection (IMAGEHLP.19) 322 */ 323 PIMAGE_SECTION_HEADER WINAPI ImageRvaToSection( 324 PIMAGE_NT_HEADERS NtHeaders, PVOID Base, ULONG Rva) 325 { 326 #ifdef DEBUG 327 dprintf(("IMAGEHLP: ImageRvaToSection not implemented\n")); 328 #endif 329 SetLastError(ERROR_CALL_NOT_IMPLEMENTED); 330 return NULL; 331 } 332 333 /*********************************************************************** 334 * ImageRvaToVa (IMAGEHLP.20) 335 */ 336 PVOID WINAPI ImageRvaToVa( 337 PIMAGE_NT_HEADERS NtHeaders, PVOID Base, ULONG Rva, 338 PIMAGE_SECTION_HEADER *LastRvaSection) 339 { 340 #ifdef DEBUG 341 dprintf(("IMAGEHLP: ImageRvaToVa not implemented\n")); 342 #endif 343 SetLastError(ERROR_CALL_NOT_IMPLEMENTED); 344 return NULL; 345 } 346 347 /*********************************************************************** 348 * ImageUnload (IMAGEHLP.21) 349 */ 350 BOOL WINAPI ImageUnload(PLOADED_IMAGE pLoadedImage) 351 { 352 #ifdef DEBUG 353 dprintf(("IMAGEHLP: ImageUnload\n")); 354 #endif 355 LIST_ENTRY *pCurrent, *pFind; 356 if(!IMAGEHLP_pFirstLoadedImage || !pLoadedImage) 357 { 358 /* No image loaded or null pointer */ 359 SetLastError(ERROR_INVALID_PARAMETER); 360 return FALSE; 361 } 362 363 pFind=&pLoadedImage->Links; 364 pCurrent=&IMAGEHLP_pFirstLoadedImage->Links; 365 while((pCurrent != pFind) && 366 (pCurrent != NULL)) 367 pCurrent = pCurrent->Flink; 368 if(!pCurrent) 369 { 370 /* Not found */ 371 SetLastError(ERROR_INVALID_PARAMETER); 372 return FALSE; 373 } 374 375 if(pCurrent->Blink) 376 pCurrent->Blink->Flink = pCurrent->Flink; 377 else 378 IMAGEHLP_pFirstLoadedImage = pCurrent->Flink?CONTAINING_RECORD( 379 pCurrent->Flink, LOADED_IMAGE, Links):NULL; 380 381 if(pCurrent->Flink) 382 pCurrent->Flink->Blink = pCurrent->Blink; 383 else 384 IMAGEHLP_pLastLoadedImage = pCurrent->Blink?CONTAINING_RECORD( 385 pCurrent->Blink, LOADED_IMAGE, Links):NULL; 386 387 return FALSE; 388 } 389 390 391 /*********************************************************************** 392 * ImagehlpApiVersion (IMAGEHLP.22) 46 * ImagehlpApiVersion (IMAGEHLP.@) 393 47 */ 394 48 PAPI_VERSION WINAPI ImagehlpApiVersion() 395 49 { 396 #ifdef DEBUG397 dprintf(("IMAGEHLP: ImagehlpApiVersion\n"));398 #endif399 50 return &IMAGEHLP_ApiVersion; 400 51 } 401 52 402 53 /*********************************************************************** 403 * ImagehlpApiVersionEx (IMAGEHLP. 23)54 * ImagehlpApiVersionEx (IMAGEHLP.@) 404 55 */ 405 56 PAPI_VERSION WINAPI ImagehlpApiVersionEx(PAPI_VERSION AppVersion) 406 57 { 407 #ifdef DEBUG408 dprintf(("IMAGEHLP: ImagehlpApiVersionEx\n"));409 #endif410 58 if(!AppVersion) 411 59 return NULL; … … 420 68 421 69 /*********************************************************************** 422 * MakeSureDirectoryPathExists (IMAGEHLP. 24)70 * MakeSureDirectoryPathExists (IMAGEHLP.@) 423 71 */ 424 72 BOOL WINAPI MakeSureDirectoryPathExists(LPCSTR DirPath) 425 73 { 426 #ifdef DEBUG 427 dprintf(("IMAGEHLP: MakeSureDirectoryPathExists not implemented\n")); 428 #endif 74 dprintf(("stub\n")); 429 75 SetLastError(ERROR_CALL_NOT_IMPLEMENTED); 430 76 return FALSE; … … 432 78 433 79 /*********************************************************************** 434 * MapAndLoad (IMAGEHLP.25) 435 */ 436 BOOL WINAPI MapAndLoad( 437 LPSTR pszImageName, LPSTR pszDllPath, PLOADED_IMAGE pLoadedImage, 438 BOOL bDotDll, BOOL bReadOnly) 439 { 440 #ifdef DEBUG 441 dprintf(("IMAGEHLP: MapAndLoad\n")); 442 #endif 443 CHAR szFileName[MAX_PATH]; 444 HANDLE hFile = (HANDLE) NULL; 445 HANDLE hFileMapping = (HANDLE) NULL; 446 HMODULE hModule = (HMODULE) NULL; 447 PIMAGE_NT_HEADERS pNtHeader = NULL; 448 449 /* PathCombine(&szFileName, pszDllPath, pszImageName); */ 450 /* PathRenameExtension(&szFileName, bDotDll?:"dll":"exe"); */ 451 452 /* FIXME: Check if the file already loaded (use IMAGEHLP_pFirstLoadedImage32) */ 453 if(!(hFile = CreateFileA( 454 szFileName, GENERIC_READ, 1, /* FIXME: FILE_SHARE_READ not defined */ 455 NULL, OPEN_EXISTING, 0, (HANDLE) NULL))) 456 { 457 SetLastError(ERROR_FILE_NOT_FOUND); 458 goto Error; 459 } 460 461 if(!(hFileMapping = CreateFileMappingA( 462 hFile, NULL, PAGE_READONLY | SEC_COMMIT, 0, 0, NULL))) 463 { 464 DWORD dwLastError = GetLastError(); 465 #ifdef DEBUG 466 dprintf(("CreateFileMapping: Error = %ld\n", dwLastError)); 467 #endif 468 SetLastError(dwLastError); 469 goto Error; 470 } 471 CloseHandle(hFile); 472 hFile = (HANDLE) NULL; 473 474 if(!(hModule = (HMODULE) MapViewOfFile( 475 hFileMapping, FILE_MAP_READ, 0, 0, 0))) 476 { 477 DWORD dwLastError = GetLastError(); 478 #ifdef DEBUG 479 dprintf(("MapViewOfFile: Error = %ld\n", dwLastError)); 480 #endif 481 SetLastError(dwLastError); 482 goto Error; 483 } 484 485 CloseHandle(hFileMapping); 486 hFileMapping=(HANDLE) NULL; 487 488 pLoadedImage = (PLOADED_IMAGE) HeapAlloc( 489 IMAGEHLP_hHeap, 0, sizeof(LOADED_IMAGE) 490 ); 491 492 pNtHeader = ImageNtHeader((PVOID) hModule); 493 494 pLoadedImage->ModuleName = 495 HEAP_strdupA(IMAGEHLP_hHeap, 0, pszDllPath); /* FIXME: Correct? */ 496 pLoadedImage->hFile = hFile; 497 pLoadedImage->MappedAddress = (PUCHAR) hModule; 498 pLoadedImage->FileHeader = pNtHeader; 499 pLoadedImage->Sections = (PIMAGE_SECTION_HEADER) 500 ((LPBYTE) &pNtHeader->OptionalHeader + 501 pNtHeader->FileHeader.SizeOfOptionalHeader); 502 pLoadedImage->NumberOfSections = 503 pNtHeader->FileHeader.NumberOfSections; 504 pLoadedImage->SizeOfImage = 505 pNtHeader->OptionalHeader.SizeOfImage; 506 pLoadedImage->Characteristics = 507 pNtHeader->FileHeader.Characteristics; 508 pLoadedImage->LastRvaSection = pLoadedImage->Sections; 509 510 pLoadedImage->fSystemImage = FALSE; /* FIXME */ 511 pLoadedImage->fDOSImage = FALSE; /* FIXME */ 512 513 /* FIXME: Make thread safe */ 514 pLoadedImage->Links.Flink = NULL; 515 pLoadedImage->Links.Blink = &IMAGEHLP_pLastLoadedImage->Links; 516 if(IMAGEHLP_pLastLoadedImage) 517 IMAGEHLP_pLastLoadedImage->Links.Flink = &pLoadedImage->Links; 518 IMAGEHLP_pLastLoadedImage = pLoadedImage; 519 if(!IMAGEHLP_pFirstLoadedImage) 520 IMAGEHLP_pFirstLoadedImage = pLoadedImage; 521 522 return TRUE; 523 524 Error: 525 if(hModule) 526 UnmapViewOfFile((PVOID) hModule); 527 if(hFileMapping) 528 CloseHandle(hFileMapping); 529 if(hFile) 530 CloseHandle(hFile); 531 return FALSE; 532 } 533 534 /*********************************************************************** 535 * MapDebugInformation (IMAGEHLP.26) 536 */ 537 PIMAGE_DEBUG_INFORMATION WINAPI MapDebugInformation( 538 HANDLE FileHandle, LPSTR FileName, 539 LPSTR SymbolPath, DWORD ImageBase) 540 { 541 #ifdef DEBUG 542 dprintf(("IMAGEHLP: MapDebugInformation not implemented\n")); 543 #endif 544 SetLastError(ERROR_CALL_NOT_IMPLEMENTED); 545 return NULL; 546 } 547 548 /*********************************************************************** 549 * MapFileAndCheckSumA (IMAGEHLP.27) 550 */ 551 DWORD WINAPI MapFileAndCheckSumA( 552 LPSTR Filename, LPDWORD HeaderSum, LPDWORD CheckSum) 553 { 554 #ifdef DEBUG 555 dprintf(("IMAGEHLP: MapFileAndCheckSumA not implemented\n")); 556 #endif 557 SetLastError(ERROR_CALL_NOT_IMPLEMENTED); 558 return CHECKSUM_OPEN_FAILURE; 559 } 560 561 /*********************************************************************** 562 * MapFileAndCheckSumW (IMAGEHLP.28) 563 */ 564 DWORD WINAPI MapFileAndCheckSumW( 565 LPWSTR Filename, LPDWORD HeaderSum, LPDWORD CheckSum) 566 { 567 #ifdef DEBUG 568 dprintf(("IMAGEHLP: MapFileAndCheckSumW not implemented\n")); 569 #endif 570 SetLastError(ERROR_CALL_NOT_IMPLEMENTED); 571 return CHECKSUM_OPEN_FAILURE; 572 } 573 574 /*********************************************************************** 575 * MarkImageAsRunFromSwap (IMAGEHLP.29) 80 * MarkImageAsRunFromSwap (IMAGEHLP.@) 576 81 * FIXME 577 82 * No documentation available. … … 579 84 580 85 /*********************************************************************** 581 * ReBaseImage (IMAGEHLP.30)86 * SearchTreeForFile (IMAGEHLP.@) 582 87 */ 583 BOOL WINAPI ReBaseImage( 584 LPSTR CurrentImageName, LPSTR SymbolPath, BOOL fReBase, 585 BOOL fRebaseSysfileOk, BOOL fGoingDown, ULONG CheckImageSize, 586 ULONG *OldImageSize, ULONG *OldImageBase, ULONG *NewImageSize, 587 ULONG *NewImageBase, ULONG TimeStamp) 88 BOOL WINAPI SearchTreeForFile( 89 LPSTR RootPath, LPSTR InputPathName, LPSTR OutputPathBuffer) 588 90 { 589 #ifdef DEBUG 590 dprintf(("IMAGEHLP: ReBaseImage not implemented\n")); 591 #endif 91 dprintf(("SearchTreeForFile: stub\n")); 592 92 SetLastError(ERROR_CALL_NOT_IMPLEMENTED); 593 93 return FALSE; … … 595 95 596 96 /*********************************************************************** 597 * RemovePrivateCvSymbolic (IMAGEHLP.31)97 * TouchFileTimes (IMAGEHLP.@) 598 98 */ 599 BOOL WINAPI RemovePrivateCvSymbolic(600 PCHAR DebugData, PCHAR *NewDebugData, ULONG *NewDebugSize)99 BOOL WINAPI TouchFileTimes( 100 HANDLE FileHandle, LPSYSTEMTIME lpSystemTime) 601 101 { 602 #ifdef DEBUG 603 dprintf(("IMAGEHLP: RemovePrivateCvSymbolic not implemented\n"));604 #endif 102 dprintf(("(0x%08x, %p): stub\n", 103 FileHandle, lpSystemTime 104 )); 605 105 SetLastError(ERROR_CALL_NOT_IMPLEMENTED); 606 106 return FALSE; 607 107 } 608 108 609 /***********************************************************************610 * RemoveRelocations (IMAGEHLP.32)611 */612 VOID WINAPI RemoveRelocations(PCHAR ImageName)613 {614 #ifdef DEBUG615 dprintf(("IMAGEHLP: RemoveRelocations not implemented\n"));616 #endif617 SetLastError(ERROR_CALL_NOT_IMPLEMENTED);618 }619 109 620 110 621 /***********************************************************************622 * SearchTreeForFile (IMAGEHLP.33)623 */624 BOOL WINAPI SearchTreeForFile(625 LPSTR RootPath, LPSTR InputPathName, LPSTR OutputPathBuffer)626 {627 #ifdef DEBUG628 dprintf(("IMAGEHLP: SearchTreeForFile not implemented\n"));629 #endif630 SetLastError(ERROR_CALL_NOT_IMPLEMENTED);631 return FALSE;632 }633 634 /***********************************************************************635 * SetImageConfigInformation (IMAGEHLP.34)636 */637 BOOL WINAPI SetImageConfigInformation(638 PLOADED_IMAGE LoadedImage,639 PIMAGE_LOAD_CONFIG_DIRECTORY ImageConfigInformation)640 {641 #ifdef DEBUG642 dprintf(("IMAGEHLP: SetImageConfigInformation not implemented\n"));643 #endif644 SetLastError(ERROR_CALL_NOT_IMPLEMENTED);645 return FALSE;646 }647 648 /***********************************************************************649 * SplitSymbols (IMAGEHLP.35)650 */651 BOOL WINAPI SplitSymbols(652 LPSTR ImageName, LPSTR SymbolsPath,653 LPSTR SymbolFilePath, DWORD Flags)654 {655 #ifdef DEBUG656 dprintf(("IMAGEHLP: SplitSymbols not implemented\n"));657 #endif658 SetLastError(ERROR_CALL_NOT_IMPLEMENTED);659 return FALSE;660 }661 662 /***********************************************************************663 * StackWalk (IMAGEHLP.36)664 */665 BOOL WINAPI StackWalk(666 DWORD MachineType, HANDLE hProcess, HANDLE hThread,667 PSTACKFRAME StackFrame, PVOID ContextRecord,668 PREAD_PROCESS_MEMORY_ROUTINE ReadMemoryRoutine,669 PFUNCTION_TABLE_ACCESS_ROUTINE FunctionTableAccessRoutine,670 PGET_MODULE_BASE_ROUTINE GetModuleBaseRoutine,671 PTRANSLATE_ADDRESS_ROUTINE TranslateAddress)672 {673 #ifdef DEBUG674 dprintf(("IMAGEHLP: StackWalk not implemented\n"));675 #endif676 SetLastError(ERROR_CALL_NOT_IMPLEMENTED);677 return FALSE;678 }679 680 /***********************************************************************681 * SymCleanup (IMAGEHLP.37)682 */683 BOOL WINAPI SymCleanup(HANDLE hProcess)684 {685 #ifdef DEBUG686 dprintf(("IMAGEHLP: SymCleanup not implemented\n"));687 #endif688 SetLastError(ERROR_CALL_NOT_IMPLEMENTED);689 return FALSE;690 }691 692 /***********************************************************************693 * SymEnumerateModules (IMAGEHLP.38)694 */695 696 BOOL WINAPI SymEnumerateModules(697 HANDLE hProcess, PSYM_ENUMMODULES_CALLBACK EnumModulesCallback,698 PVOID UserContext)699 {700 #ifdef DEBUG701 dprintf(("IMAGEHLP: SymEnumerateModules not implemented\n"));702 #endif703 SetLastError(ERROR_CALL_NOT_IMPLEMENTED);704 return FALSE;705 }706 707 /***********************************************************************708 * SymEnumerateSymbols (IMAGEHLP.39)709 */710 BOOL WINAPI SymEnumerateSymbols(711 HANDLE hProcess, DWORD BaseOfDll,712 PSYM_ENUMSYMBOLS_CALLBACK EnumSymbolsCallback, PVOID UserContext)713 {714 #ifdef DEBUG715 dprintf(("IMAGEHLP: SymEnumerateSymbols not implemented\n"));716 #endif717 SetLastError(ERROR_CALL_NOT_IMPLEMENTED);718 return FALSE;719 }720 721 /***********************************************************************722 * SymFunctionTableAccess (IMAGEHLP.40)723 */724 PVOID WINAPI SymFunctionTableAccess(HANDLE hProcess, DWORD AddrBase)725 {726 #ifdef DEBUG727 dprintf(("IMAGEHLP: SymFunctionTableAccess not implemented\n"));728 #endif729 SetLastError(ERROR_CALL_NOT_IMPLEMENTED);730 return FALSE;731 }732 733 /***********************************************************************734 * SymGetModuleBase (IMAGEHLP.41)735 */736 DWORD WINAPI SymGetModuleBase(HANDLE hProcess, DWORD dwAddr)737 {738 #ifdef DEBUG739 dprintf(("IMAGEHLP: SymGetModuleBase not implemented\n"));740 #endif741 SetLastError(ERROR_CALL_NOT_IMPLEMENTED);742 return 0;743 }744 745 /***********************************************************************746 * SymGetModuleInfo (IMAGEHLP.42)747 */748 BOOL WINAPI SymGetModuleInfo(749 HANDLE hProcess, DWORD dwAddr,750 PIMAGEHLP_MODULE ModuleInfo)751 {752 #ifdef DEBUG753 dprintf(("IMAGEHLP: SymGetModuleInfo not implemented\n"));754 #endif755 SetLastError(ERROR_CALL_NOT_IMPLEMENTED);756 return FALSE;757 }758 759 /***********************************************************************760 * SymGetOptions (IMAGEHLP.43)761 */762 DWORD WINAPI SymGetOptions()763 {764 #ifdef DEBUG765 dprintf(("IMAGEHLP: SymGetOptions not implemented\n"));766 #endif767 SetLastError(ERROR_CALL_NOT_IMPLEMENTED);768 return 0;769 }770 771 /***********************************************************************772 * SymGetSearchPath (IMAGEHLP.44)773 */774 BOOL WINAPI SymGetSearchPath(775 HANDLE hProcess, LPSTR szSearchPath, DWORD SearchPathLength)776 {777 #ifdef DEBUG778 dprintf(("IMAGEHLP: SymGetSearchPath not implemented\n"));779 #endif780 SetLastError(ERROR_CALL_NOT_IMPLEMENTED);781 return FALSE;782 }783 784 /***********************************************************************785 * SymGetSymFromAddr (IMAGEHLP.45)786 */787 BOOL WINAPI SymGetSymFromAddr(788 HANDLE hProcess, DWORD dwAddr,789 PDWORD pdwDisplacement, PIMAGEHLP_SYMBOL Symbol)790 {791 #ifdef DEBUG792 dprintf(("IMAGEHLP: SymGetSymFromAddr not implemented\n"));793 #endif794 SetLastError(ERROR_CALL_NOT_IMPLEMENTED);795 return FALSE;796 }797 798 /***********************************************************************799 * SymGetSymFromName (IMAGEHLP.46)800 */801 BOOL WINAPI SymGetSymFromName(802 HANDLE hProcess, LPSTR Name, PIMAGEHLP_SYMBOL Symbol)803 {804 #ifdef DEBUG805 dprintf(("IMAGEHLP: SymGetSymFromName not implemented\n"));806 #endif807 SetLastError(ERROR_CALL_NOT_IMPLEMENTED);808 return FALSE;809 }810 811 /***********************************************************************812 * SymGetSymNext (IMAGEHLP.47)813 */814 BOOL WINAPI SymGetSymNext(815 HANDLE hProcess, PIMAGEHLP_SYMBOL Symbol)816 {817 #ifdef DEBUG818 dprintf(("IMAGEHLP: SymGetSymNext not implemented\n"));819 #endif820 SetLastError(ERROR_CALL_NOT_IMPLEMENTED);821 return FALSE;822 }823 824 /***********************************************************************825 * SymGetSymPrev (IMAGEHLP.48)826 */827 828 BOOL WINAPI SymGetSymPrev(829 HANDLE hProcess, PIMAGEHLP_SYMBOL Symbol)830 {831 #ifdef DEBUG832 dprintf(("IMAGEHLP: SymGetSymPrev not implemented\n"));833 #endif834 SetLastError(ERROR_CALL_NOT_IMPLEMENTED);835 return FALSE;836 }837 838 /***********************************************************************839 * SymInitialize (IMAGEHLP.49)840 */841 BOOL WINAPI SymInitialize(842 HANDLE hProcess, LPSTR UserSearchPath, BOOL fInvadeProcess)843 {844 #ifdef DEBUG845 dprintf(("IMAGEHLP: SymInitialize not implemented\n"));846 #endif847 SetLastError(ERROR_CALL_NOT_IMPLEMENTED);848 return FALSE;849 }850 851 /***********************************************************************852 * SymLoadModule (IMAGEHLP.50)853 */854 855 BOOL WINAPI SymLoadModule(856 HANDLE hProcess, HANDLE hFile, LPSTR ImageName, LPSTR ModuleName,857 DWORD BaseOfDll, DWORD SizeOfDll)858 {859 #ifdef DEBUG860 dprintf(("IMAGEHLP: SymLoadModule not implemented\n"));861 #endif862 SetLastError(ERROR_CALL_NOT_IMPLEMENTED);863 return FALSE;864 }865 866 /***********************************************************************867 * SymRegisterCallback (IMAGEHLP.51)868 */869 BOOL WINAPI SymRegisterCallback(870 HANDLE hProcess, PSYMBOL_REGISTERED_CALLBACK CallbackFunction,871 PVOID UserContext)872 {873 #ifdef DEBUG874 dprintf(("IMAGEHLP: SymRegisterCallback not implemented\n"));875 #endif876 SetLastError(ERROR_CALL_NOT_IMPLEMENTED);877 return FALSE;878 }879 880 /***********************************************************************881 * SymSetOptions (IMAGEHLP.52)882 */883 DWORD WINAPI SymSetOptions(DWORD SymOptions)884 {885 #ifdef DEBUG886 dprintf(("IMAGEHLP: SymSetOptions not implemented\n"));887 #endif888 SetLastError(ERROR_CALL_NOT_IMPLEMENTED);889 return 0;890 }891 892 /***********************************************************************893 * SymSetSearchPath (IMAGEHLP.53)894 */895 BOOL WINAPI SymSetSearchPath(HANDLE hProcess, LPSTR szSearchPath)896 {897 #ifdef DEBUG898 dprintf(("IMAGEHLP: SymSetSearchPath not implemented\n"));899 #endif900 SetLastError(ERROR_CALL_NOT_IMPLEMENTED);901 return FALSE;902 }903 904 /***********************************************************************905 * SymUnDName (IMAGEHLP.54)906 */907 BOOL WINAPI SymUnDName(908 PIMAGEHLP_SYMBOL sym, LPSTR UnDecName, DWORD UnDecNameLength)909 {910 #ifdef DEBUG911 dprintf(("IMAGEHLP: SymUnDName not implemented\n"));912 #endif913 SetLastError(ERROR_CALL_NOT_IMPLEMENTED);914 return FALSE;915 }916 917 /***********************************************************************918 * SymUnloadModule (IMAGEHLP.55)919 */920 BOOL WINAPI SymUnloadModule(921 HANDLE hProcess, DWORD BaseOfDll)922 {923 #ifdef DEBUG924 dprintf(("IMAGEHLP: SymUnloadModule not implemented\n"));925 #endif926 SetLastError(ERROR_CALL_NOT_IMPLEMENTED);927 return FALSE;928 }929 930 /***********************************************************************931 * TouchFileTimes (IMAGEHLP.56)932 */933 BOOL WINAPI TouchFileTimes(934 HANDLE FileHandle, LPSYSTEMTIME lpSystemTime)935 {936 #ifdef DEBUG937 dprintf(("IMAGEHLP: TouchFileTimes not implemented\n"));938 #endif939 SetLastError(ERROR_CALL_NOT_IMPLEMENTED);940 return FALSE;941 }942 943 /***********************************************************************944 * UnDecorateSymbolName (IMAGEHLP.57)945 */946 DWORD WINAPI UnDecorateSymbolName(947 LPCSTR DecoratedName, LPSTR UnDecoratedName,948 DWORD UndecoratedLength, DWORD Flags)949 {950 #ifdef DEBUG951 dprintf(("IMAGEHLP: UnDecorateSymbolName not implemented\n"));952 #endif953 SetLastError(ERROR_CALL_NOT_IMPLEMENTED);954 return 0;955 }956 957 /***********************************************************************958 * UnMapAndLoad (IMAGEHLP.58)959 */960 BOOL WINAPI UnMapAndLoad(PLOADED_IMAGE LoadedImage)961 {962 #ifdef DEBUG963 dprintf(("IMAGEHLP: UnMapAndLoad not implemented\n"));964 #endif965 SetLastError(ERROR_CALL_NOT_IMPLEMENTED);966 return FALSE;967 }968 969 /***********************************************************************970 * UnmapDebugInformation (IMAGEHLP.59)971 */972 973 BOOL WINAPI UnmapDebugInformation(974 PIMAGE_DEBUG_INFORMATION DebugInfo)975 {976 #ifdef DEBUG977 dprintf(("IMAGEHLP: UnmapDebugInformation not implemented\n"));978 #endif979 SetLastError(ERROR_CALL_NOT_IMPLEMENTED);980 return FALSE;981 }982 983 /***********************************************************************984 * UpdateDebugInfoFile (IMAGEHLP.60)985 */986 BOOL WINAPI UpdateDebugInfoFile(987 LPSTR ImageFileName, LPSTR SymbolPath,988 LPSTR DebugFilePath, PIMAGE_NT_HEADERS NtHeaders)989 {990 #ifdef DEBUG991 dprintf(("IMAGEHLP: UpdateDebugInfoFile not implemented\n"));992 #endif993 SetLastError(ERROR_CALL_NOT_IMPLEMENTED);994 return FALSE;995 }996 997 /***********************************************************************998 * UpdateDebugInfoFileEx (IMAGEHLP.?)999 * FIXME1000 * Function has no ordinal.1001 */1002 BOOL WINAPI UpdateDebugInfoFileEx(1003 LPSTR ImageFileName, LPSTR SymbolPath, LPSTR DebugFilePath,1004 PIMAGE_NT_HEADERS NtHeaders, DWORD OldChecksum)1005 {1006 #ifdef DEBUG1007 dprintf(("IMAGEHLP: UpdateDebugInfoFileEx not implemented\n"));1008 #endif1009 SetLastError(ERROR_CALL_NOT_IMPLEMENTED);1010 return FALSE;1011 }1012 -
trunk/src/imagehlp/internal.cpp
r736 r3634 1 /* $Id: internal.cpp,v 1.1 1999-08-29 14:54:54 sandervl Exp $ */2 1 /* 3 2 * IMAGEHLP library 4 3 * 5 4 * Copyright 1998 Patrik Stridvall 6 * Copyright 1999 Jens Wiessner7 5 */ 8 6 9 7 #include <os2win.h> 8 #include <odinwrap.h> 9 #include <imagehlp.h> 10 #include <heapstring.h> 10 11 11 12 /*********************************************************************** 12 * InitializeListHead3213 * InitializeListHead 13 14 */ 14 15 VOID InitializeListHead(PLIST_ENTRY pListHead) … … 19 20 20 21 /*********************************************************************** 21 * InsertHeadList3222 * InsertHeadList 22 23 */ 23 24 VOID InsertHeadList(PLIST_ENTRY pListHead, PLIST_ENTRY pEntry) … … 29 30 30 31 /*********************************************************************** 31 * InsertTailList3232 * InsertTailList 32 33 */ 33 34 VOID InsertTailList(PLIST_ENTRY pListHead, PLIST_ENTRY pEntry) … … 39 40 40 41 /*********************************************************************** 41 * IsListEmpty3242 * IsListEmpty 42 43 */ 43 44 BOOLEAN IsListEmpty(PLIST_ENTRY pListHead) … … 47 48 48 49 /*********************************************************************** 49 * PopEntryList3250 * PopEntryList 50 51 */ 51 52 PSINGLE_LIST_ENTRY PopEntryList(PSINGLE_LIST_ENTRY pListHead) … … 56 57 57 58 /*********************************************************************** 58 * PushEntryList3259 * PushEntryList 59 60 */ 60 61 VOID PushEntryList( … … 65 66 66 67 /*********************************************************************** 67 * RemoveEntryList3268 * RemoveEntryList 68 69 */ 69 70 VOID RemoveEntryList(PLIST_ENTRY pEntry) … … 76 77 77 78 /*********************************************************************** 78 * RemoveHeadList3279 * RemoveHeadList 79 80 */ 80 81 PLIST_ENTRY RemoveHeadList(PLIST_ENTRY pListHead) … … 96 97 97 98 /*********************************************************************** 98 * RemoveTailList3299 * RemoveTailList 99 100 */ 100 101 PLIST_ENTRY RemoveTailList(PLIST_ENTRY pListHead) … … 106 107 return NULL; 107 108 } 108 109 110 111 -
trunk/src/imagehlp/makefile
r3031 r3634 1 # $Id: makefile,v 1. 9 2000-03-06 23:38:39 birdExp $1 # $Id: makefile,v 1.10 2000-05-29 22:31:30 sandervl Exp $ 2 2 3 3 # … … 25 25 OBJS = \ 26 26 $(OBJDIR)\imagehlp.obj \ 27 $(OBJDIR)\access.obj \ 28 $(OBJDIR)\debug.obj \ 29 $(OBJDIR)\integrity.obj \ 27 30 $(OBJDIR)\internal.obj \ 31 $(OBJDIR)\modify.obj \ 32 $(OBJDIR)\symbol.obj \ 28 33 $(OBJDIR)\initterm.obj \ 29 34 $(OBJDIR)\imagehlprsrc.obj
Note:
See TracChangeset
for help on using the changeset viewer.