- implement UDS_HOTTRACK
[wine] / dlls / imagehlp / imagehlp_main.c
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., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
19  */
20
21 #include "imagehlp.h"
22 #include "winerror.h"
23 #include "winbase.h"
24 #include "windef.h"
25 #include "wine/debug.h"
26
27 WINE_DEFAULT_DEBUG_CHANNEL(imagehlp);
28
29 /**********************************************************************/
30
31 HANDLE IMAGEHLP_hHeap = (HANDLE) NULL;
32
33 static API_VERSION IMAGEHLP_ApiVersion = { 4, 0, 0, 5 };
34
35 /***********************************************************************
36  *           IMAGEHLP_LibMain (IMAGEHLP.init)
37  */
38 BOOL WINAPI IMAGEHLP_LibMain(
39   HINSTANCE hinstDLL, DWORD fdwReason, LPVOID lpvReserved)
40 {
41   switch(fdwReason)
42     {
43     case DLL_PROCESS_ATTACH:
44       IMAGEHLP_hHeap = HeapCreate(0, 0x10000, 0);
45       break;
46     case DLL_PROCESS_DETACH:
47       HeapDestroy(IMAGEHLP_hHeap);
48       IMAGEHLP_hHeap = (HANDLE) NULL;
49       break;
50     case DLL_THREAD_ATTACH:
51       break;
52     case DLL_THREAD_DETACH:
53       break;
54     default:
55       break;
56     }
57   return TRUE;
58 }
59
60 /***********************************************************************
61  *           ImagehlpApiVersion (IMAGEHLP.@)
62  */
63 PAPI_VERSION WINAPI ImagehlpApiVersion()
64 {
65   return &IMAGEHLP_ApiVersion;
66 }
67
68 /***********************************************************************
69  *           ImagehlpApiVersionEx (IMAGEHLP.@)
70  */
71 PAPI_VERSION WINAPI ImagehlpApiVersionEx(PAPI_VERSION AppVersion)
72 {
73   if(!AppVersion)
74     return NULL;
75
76   AppVersion->MajorVersion = IMAGEHLP_ApiVersion.MajorVersion;
77   AppVersion->MinorVersion = IMAGEHLP_ApiVersion.MinorVersion;
78   AppVersion->Revision = IMAGEHLP_ApiVersion.Revision;
79   AppVersion->Reserved = IMAGEHLP_ApiVersion.Reserved;
80
81   return AppVersion;
82 }
83
84 /***********************************************************************
85  *           MakeSureDirectoryPathExists (IMAGEHLP.@)
86  */
87 BOOL WINAPI MakeSureDirectoryPathExists(LPCSTR DirPath)
88 {
89   FIXME("(%s): stub\n", debugstr_a(DirPath));
90   SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
91   return FALSE;
92 }
93
94 /***********************************************************************
95  *           MarkImageAsRunFromSwap (IMAGEHLP.@)
96  * FIXME
97  *   No documentation available.
98  */
99
100 /***********************************************************************
101  *           SearchTreeForFile (IMAGEHLP.@)
102  */
103 BOOL WINAPI SearchTreeForFile(
104   LPSTR RootPath, LPSTR InputPathName, LPSTR OutputPathBuffer)
105 {
106   FIXME("(%s, %s, %s): stub\n",
107     debugstr_a(RootPath), debugstr_a(InputPathName), 
108     debugstr_a(OutputPathBuffer)
109   );
110   SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
111   return FALSE;
112 }
113
114 /***********************************************************************
115  *           TouchFileTimes (IMAGEHLP.@)
116  */
117 BOOL WINAPI TouchFileTimes(
118   HANDLE FileHandle, LPSYSTEMTIME lpSystemTime)
119 {
120   FIXME("(0x%08x, %p): stub\n",
121     FileHandle, lpSystemTime
122   );
123   SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
124   return FALSE;
125 }
126
127
128