1 /* 2 * IMAGEHLP library 3 * 4 * Copyright 1998 Patrik Stridvall 5 * 6 * This library is free software; you can redistribute it and/or 7 * modify it under the terms of the GNU Lesser General Public 8 * License as published by the Free Software Foundation; either 9 * version 2.1 of the License, or (at your option) any later version. 10 * 11 * This library is distributed in the hope that it will be useful, 12 * but WITHOUT ANY WARRANTY; without even the implied warranty of 13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 14 * Lesser General Public License for more details. 15 * 16 * You should have received a copy of the GNU Lesser General Public 17 * License along with this library; if not, write to the Free Software 18 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA 19 */ 20 21 #include <stdarg.h> 22 23 #include "windef.h" 24 #include "winbase.h" 25 #include "imagehlp.h" 26 #include "wine/debug.h" 27 28 /**********************************************************************/ 29 DECLSPEC_HIDDEN HANDLE IMAGEHLP_hHeap = NULL; 30 31 /*********************************************************************** 32 * DllMain (IMAGEHLP.init) 33 */ 34 BOOL WINAPI DllMain(HINSTANCE hinstDLL, DWORD fdwReason, LPVOID lpvReserved) 35 { 36 switch(fdwReason) 37 { 38 case DLL_PROCESS_ATTACH: 39 DisableThreadLibraryCalls(hinstDLL); 40 IMAGEHLP_hHeap = HeapCreate(0, 0x10000, 0); 41 break; 42 case DLL_PROCESS_DETACH: 43 if (lpvReserved) break; 44 HeapDestroy(IMAGEHLP_hHeap); 45 break; 46 } 47 return TRUE; 48 } 49 50 /*********************************************************************** 51 * MarkImageAsRunFromSwap (IMAGEHLP.@) 52 * FIXME 53 * No documentation available. 54 */ 55 56 /*********************************************************************** 57 * TouchFileTimes (IMAGEHLP.@) 58 */ 59 BOOL WINAPI TouchFileTimes(HANDLE FileHandle, LPSYSTEMTIME lpSystemTime) 60 { 61 FILETIME FileTime; 62 SYSTEMTIME SystemTime; 63 64 if(lpSystemTime == NULL) 65 { 66 GetSystemTime(&SystemTime); 67 lpSystemTime = &SystemTime; 68 } 69 70 return (SystemTimeToFileTime(lpSystemTime, &FileTime) && 71 SetFileTime(FileHandle, NULL, NULL, &FileTime)); 72 } 73