| /* | 
 |  *	IMAGEHLP library | 
 |  * | 
 |  *	Copyright 1998	Patrik Stridvall | 
 |  */ | 
 |  | 
 | #include "imagehlp.h" | 
 | #include "winerror.h" | 
 | #include "winbase.h" | 
 | #include "windef.h" | 
 | #include "debugtools.h" | 
 |  | 
 | DEFAULT_DEBUG_CHANNEL(imagehlp); | 
 |  | 
 | /**********************************************************************/ | 
 |  | 
 | HANDLE IMAGEHLP_hHeap = (HANDLE) NULL; | 
 |  | 
 | static API_VERSION IMAGEHLP_ApiVersion = { 4, 0, 0, 5 }; | 
 |  | 
 | /*********************************************************************** | 
 |  *           IMAGEHLP_LibMain (IMAGEHLP.init) | 
 |  */ | 
 | BOOL WINAPI IMAGEHLP_LibMain( | 
 |   HINSTANCE hinstDLL, DWORD fdwReason, LPVOID lpvReserved) | 
 | { | 
 |   switch(fdwReason) | 
 |     { | 
 |     case DLL_PROCESS_ATTACH: | 
 |       IMAGEHLP_hHeap = HeapCreate(0, 0x10000, 0); | 
 |       break; | 
 |     case DLL_PROCESS_DETACH: | 
 |       HeapDestroy(IMAGEHLP_hHeap); | 
 |       IMAGEHLP_hHeap = (HANDLE) NULL; | 
 |       break; | 
 |     case DLL_THREAD_ATTACH: | 
 |       break; | 
 |     case DLL_THREAD_DETACH: | 
 |       break; | 
 |     default: | 
 |       break; | 
 |     } | 
 |   return TRUE; | 
 | } | 
 |  | 
 | /*********************************************************************** | 
 |  *           ImagehlpApiVersion (IMAGEHLP.@) | 
 |  */ | 
 | PAPI_VERSION WINAPI ImagehlpApiVersion() | 
 | { | 
 |   return &IMAGEHLP_ApiVersion; | 
 | } | 
 |  | 
 | /*********************************************************************** | 
 |  *           ImagehlpApiVersionEx (IMAGEHLP.@) | 
 |  */ | 
 | PAPI_VERSION WINAPI ImagehlpApiVersionEx(PAPI_VERSION AppVersion) | 
 | { | 
 |   if(!AppVersion) | 
 |     return NULL; | 
 |  | 
 |   AppVersion->MajorVersion = IMAGEHLP_ApiVersion.MajorVersion; | 
 |   AppVersion->MinorVersion = IMAGEHLP_ApiVersion.MinorVersion; | 
 |   AppVersion->Revision = IMAGEHLP_ApiVersion.Revision; | 
 |   AppVersion->Reserved = IMAGEHLP_ApiVersion.Reserved; | 
 |  | 
 |   return AppVersion; | 
 | } | 
 |  | 
 | /*********************************************************************** | 
 |  *           MakeSureDirectoryPathExists (IMAGEHLP.@) | 
 |  */ | 
 | BOOL WINAPI MakeSureDirectoryPathExists(LPCSTR DirPath) | 
 | { | 
 |   FIXME("(%s): stub\n", debugstr_a(DirPath)); | 
 |   SetLastError(ERROR_CALL_NOT_IMPLEMENTED); | 
 |   return FALSE; | 
 | } | 
 |  | 
 | /*********************************************************************** | 
 |  *           MarkImageAsRunFromSwap (IMAGEHLP.@) | 
 |  * FIXME | 
 |  *   No documentation available. | 
 |  */ | 
 |  | 
 | /*********************************************************************** | 
 |  *           SearchTreeForFile (IMAGEHLP.@) | 
 |  */ | 
 | BOOL WINAPI SearchTreeForFile( | 
 |   LPSTR RootPath, LPSTR InputPathName, LPSTR OutputPathBuffer) | 
 | { | 
 |   FIXME("(%s, %s, %s): stub\n", | 
 |     debugstr_a(RootPath), debugstr_a(InputPathName),  | 
 |     debugstr_a(OutputPathBuffer) | 
 |   ); | 
 |   SetLastError(ERROR_CALL_NOT_IMPLEMENTED); | 
 |   return FALSE; | 
 | } | 
 |  | 
 | /*********************************************************************** | 
 |  *           TouchFileTimes (IMAGEHLP.@) | 
 |  */ | 
 | BOOL WINAPI TouchFileTimes( | 
 |   HANDLE FileHandle, LPSYSTEMTIME lpSystemTime) | 
 | { | 
 |   FIXME("(0x%08x, %p): stub\n", | 
 |     FileHandle, lpSystemTime | 
 |   ); | 
 |   SetLastError(ERROR_CALL_NOT_IMPLEMENTED); | 
 |   return FALSE; | 
 | } | 
 |  | 
 |  | 
 |  |