Changeset 3634 for trunk/src


Ignore:
Timestamp:
May 30, 2000, 12:31:30 AM (25 years ago)
Author:
sandervl
Message:

JW: Updated (Wine 26/05/2000)

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 $ */
    21/*
    32 *      IMAGEHLP library
    43 *
    54 *      Copyright 1998  Patrik Stridvall
    6  *      Copyright 1999  Jens Wiessner
    75 */
    86
     
    1311
    1412ODINDEBUGCHANNEL(imagehlp)
    15 
    16 /***********************************************************************
    17  *           Data
    18  */
    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 
    3813
    3914/**********************************************************************/
     
    6843}
    6944
    70 
    7145/***********************************************************************
    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.@)
    39347 */
    39448PAPI_VERSION WINAPI ImagehlpApiVersion()
    39549{
    396 #ifdef DEBUG
    397   dprintf(("IMAGEHLP: ImagehlpApiVersion\n"));
    398 #endif
    39950  return &IMAGEHLP_ApiVersion;
    40051}
    40152
    40253/***********************************************************************
    403  *           ImagehlpApiVersionEx (IMAGEHLP.23)
     54 *           ImagehlpApiVersionEx (IMAGEHLP.@)
    40455 */
    40556PAPI_VERSION WINAPI ImagehlpApiVersionEx(PAPI_VERSION AppVersion)
    40657{
    407 #ifdef DEBUG
    408   dprintf(("IMAGEHLP: ImagehlpApiVersionEx\n"));
    409 #endif
    41058  if(!AppVersion)
    41159    return NULL;
     
    42068
    42169/***********************************************************************
    422  *           MakeSureDirectoryPathExists (IMAGEHLP.24)
     70 *           MakeSureDirectoryPathExists (IMAGEHLP.@)
    42371 */
    42472BOOL WINAPI MakeSureDirectoryPathExists(LPCSTR DirPath)
    42573{
    426 #ifdef DEBUG
    427   dprintf(("IMAGEHLP: MakeSureDirectoryPathExists not implemented\n"));
    428 #endif
     74  dprintf(("stub\n"));
    42975  SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
    43076  return FALSE;
     
    43278
    43379/***********************************************************************
    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.@)
    57681 * FIXME
    57782 *   No documentation available.
     
    57984
    58085/***********************************************************************
    581  *           ReBaseImage (IMAGEHLP.30)
     86 *           SearchTreeForFile (IMAGEHLP.@)
    58287 */
    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)
     88BOOL WINAPI SearchTreeForFile(
     89  LPSTR RootPath, LPSTR InputPathName, LPSTR OutputPathBuffer)
    58890{
    589 #ifdef DEBUG
    590   dprintf(("IMAGEHLP: ReBaseImage not implemented\n"));
    591 #endif
     91  dprintf(("SearchTreeForFile: stub\n"));
    59292  SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
    59393  return FALSE;
     
    59595
    59696/***********************************************************************
    597  *           RemovePrivateCvSymbolic (IMAGEHLP.31)
     97 *           TouchFileTimes (IMAGEHLP.@)
    59898 */
    599 BOOL WINAPI RemovePrivateCvSymbolic(
    600   PCHAR DebugData, PCHAR *NewDebugData, ULONG *NewDebugSize)
     99BOOL WINAPI TouchFileTimes(
     100  HANDLE FileHandle, LPSYSTEMTIME lpSystemTime)
    601101{
    602 #ifdef DEBUG
    603   dprintf(("IMAGEHLP: RemovePrivateCvSymbolic not implemented\n"));
    604 #endif
     102  dprintf(("(0x%08x, %p): stub\n",
     103    FileHandle, lpSystemTime
     104  ));
    605105  SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
    606106  return FALSE;
    607107}
    608108
    609 /***********************************************************************
    610  *           RemoveRelocations (IMAGEHLP.32)
    611  */
    612 VOID WINAPI RemoveRelocations(PCHAR ImageName)
    613 {
    614 #ifdef DEBUG
    615   dprintf(("IMAGEHLP: RemoveRelocations not implemented\n"));
    616 #endif
    617   SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
    618 }
    619109
    620110
    621 /***********************************************************************
    622  *           SearchTreeForFile (IMAGEHLP.33)
    623  */
    624 BOOL WINAPI SearchTreeForFile(
    625   LPSTR RootPath, LPSTR InputPathName, LPSTR OutputPathBuffer)
    626 {
    627 #ifdef DEBUG
    628   dprintf(("IMAGEHLP: SearchTreeForFile not implemented\n"));
    629 #endif
    630   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 DEBUG
    642   dprintf(("IMAGEHLP: SetImageConfigInformation not implemented\n"));
    643 #endif
    644   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 DEBUG
    656   dprintf(("IMAGEHLP: SplitSymbols not implemented\n"));
    657 #endif
    658   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 DEBUG
    674   dprintf(("IMAGEHLP: StackWalk not implemented\n"));
    675 #endif
    676   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 DEBUG
    686   dprintf(("IMAGEHLP: SymCleanup not implemented\n"));
    687 #endif
    688   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 DEBUG
    701   dprintf(("IMAGEHLP: SymEnumerateModules not implemented\n"));
    702 #endif
    703   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 DEBUG
    715   dprintf(("IMAGEHLP: SymEnumerateSymbols not implemented\n"));
    716 #endif
    717   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 DEBUG
    727   dprintf(("IMAGEHLP: SymFunctionTableAccess not implemented\n"));
    728 #endif
    729   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 DEBUG
    739   dprintf(("IMAGEHLP: SymGetModuleBase not implemented\n"));
    740 #endif
    741   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 DEBUG
    753   dprintf(("IMAGEHLP: SymGetModuleInfo not implemented\n"));
    754 #endif
    755   SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
    756   return FALSE;
    757 }
    758 
    759 /***********************************************************************
    760  *           SymGetOptions (IMAGEHLP.43)
    761  */
    762 DWORD WINAPI SymGetOptions()
    763 {
    764 #ifdef DEBUG
    765   dprintf(("IMAGEHLP: SymGetOptions not implemented\n"));
    766 #endif
    767   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 DEBUG
    778   dprintf(("IMAGEHLP: SymGetSearchPath not implemented\n"));
    779 #endif
    780   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 DEBUG
    792   dprintf(("IMAGEHLP: SymGetSymFromAddr not implemented\n"));
    793 #endif
    794   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 DEBUG
    805   dprintf(("IMAGEHLP: SymGetSymFromName not implemented\n"));
    806 #endif
    807   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 DEBUG
    818   dprintf(("IMAGEHLP: SymGetSymNext not implemented\n"));
    819 #endif
    820   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 DEBUG
    832   dprintf(("IMAGEHLP: SymGetSymPrev not implemented\n"));
    833 #endif
    834   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 DEBUG
    845   dprintf(("IMAGEHLP: SymInitialize not implemented\n"));
    846 #endif
    847   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 DEBUG
    860   dprintf(("IMAGEHLP: SymLoadModule not implemented\n"));
    861 #endif
    862   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 DEBUG
    874   dprintf(("IMAGEHLP: SymRegisterCallback not implemented\n"));
    875 #endif
    876   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 DEBUG
    886   dprintf(("IMAGEHLP: SymSetOptions not implemented\n"));
    887 #endif
    888   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 DEBUG
    898   dprintf(("IMAGEHLP: SymSetSearchPath not implemented\n"));
    899 #endif
    900   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 DEBUG
    911   dprintf(("IMAGEHLP: SymUnDName not implemented\n"));
    912 #endif
    913   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 DEBUG
    924   dprintf(("IMAGEHLP: SymUnloadModule not implemented\n"));
    925 #endif
    926   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 DEBUG
    937   dprintf(("IMAGEHLP: TouchFileTimes not implemented\n"));
    938 #endif
    939   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 DEBUG
    951   dprintf(("IMAGEHLP: UnDecorateSymbolName not implemented\n"));
    952 #endif
    953   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 DEBUG
    963   dprintf(("IMAGEHLP: UnMapAndLoad not implemented\n"));
    964 #endif
    965   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 DEBUG
    977   dprintf(("IMAGEHLP: UnmapDebugInformation not implemented\n"));
    978 #endif
    979   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 DEBUG
    991   dprintf(("IMAGEHLP: UpdateDebugInfoFile not implemented\n"));
    992 #endif
    993   SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
    994   return FALSE;
    995 }
    996 
    997 /***********************************************************************
    998  *           UpdateDebugInfoFileEx (IMAGEHLP.?)
    999  * FIXME
    1000  *   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 DEBUG
    1007   dprintf(("IMAGEHLP: UpdateDebugInfoFileEx not implemented\n"));
    1008 #endif
    1009   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 $ */
    21/*
    32 *      IMAGEHLP library
    43 *
    54 *      Copyright 1998  Patrik Stridvall
    6  *      Copyright 1999  Jens Wiessner
    75 */
    86
    97#include <os2win.h>
     8#include <odinwrap.h>
     9#include <imagehlp.h>
     10#include <heapstring.h>
    1011
    1112/***********************************************************************
    12  *           InitializeListHead32
     13 *              InitializeListHead
    1314 */
    1415VOID InitializeListHead(PLIST_ENTRY pListHead)
     
    1920
    2021/***********************************************************************
    21  *           InsertHeadList32
     22 *              InsertHeadList
    2223 */
    2324VOID InsertHeadList(PLIST_ENTRY pListHead, PLIST_ENTRY pEntry)
     
    2930
    3031/***********************************************************************
    31  *           InsertTailList32
     32 *              InsertTailList
    3233 */
    3334VOID InsertTailList(PLIST_ENTRY pListHead, PLIST_ENTRY pEntry)
     
    3940
    4041/***********************************************************************
    41  *           IsListEmpty32
     42 *              IsListEmpty
    4243 */
    4344BOOLEAN IsListEmpty(PLIST_ENTRY pListHead)
     
    4748
    4849/***********************************************************************
    49  *           PopEntryList32
     50 *              PopEntryList
    5051 */
    5152PSINGLE_LIST_ENTRY PopEntryList(PSINGLE_LIST_ENTRY pListHead)
     
    5657
    5758/***********************************************************************
    58  *           PushEntryList32
     59 *              PushEntryList
    5960 */
    6061VOID PushEntryList(
     
    6566
    6667/***********************************************************************
    67  *           RemoveEntryList32
     68 *              RemoveEntryList
    6869 */
    6970VOID RemoveEntryList(PLIST_ENTRY pEntry)
     
    7677
    7778/***********************************************************************
    78  *           RemoveHeadList32
     79 *              RemoveHeadList
    7980 */
    8081PLIST_ENTRY RemoveHeadList(PLIST_ENTRY pListHead)
     
    9697
    9798/***********************************************************************
    98  *           RemoveTailList32
     99 *              RemoveTailList
    99100 */
    100101PLIST_ENTRY RemoveTailList(PLIST_ENTRY pListHead)
     
    106107    return NULL;
    107108}
    108 
    109 
    110 
    111 
  • trunk/src/imagehlp/makefile

    r3031 r3634  
    1 # $Id: makefile,v 1.9 2000-03-06 23:38:39 bird Exp $
     1# $Id: makefile,v 1.10 2000-05-29 22:31:30 sandervl Exp $
    22
    33#
     
    2525OBJS = \
    2626$(OBJDIR)\imagehlp.obj \
     27$(OBJDIR)\access.obj \
     28$(OBJDIR)\debug.obj \
     29$(OBJDIR)\integrity.obj \
    2730$(OBJDIR)\internal.obj \
     31$(OBJDIR)\modify.obj \
     32$(OBJDIR)\symbol.obj \
    2833$(OBJDIR)\initterm.obj \
    2934$(OBJDIR)\imagehlprsrc.obj
Note: See TracChangeset for help on using the changeset viewer.