modify variable typo
@@ -1,6 +1,6 @@ | ||
1 | 1 | /* |
2 | 2 | Video maid |
3 | - copyright (c) 1998-2009 Kazuki IWAMOTO http://www.maid.org/ iwm@maid.org | |
3 | + copyright (c) 1998-2010 Kazuki Iwamoto http://www.maid.org/ iwm@maid.org | |
4 | 4 | |
5 | 5 | This program is free software: you can redistribute it and/or modify |
6 | 6 | it under the terms of the GNU General Public License as published by |
@@ -31,7 +31,7 @@ | ||
31 | 31 | |
32 | 32 | |
33 | 33 | #define VMAID_VERSION_NOTICE "Video maid "VERSION" ("BUILD_ENVIRONMENT")" |
34 | -#define VMAID_COPYRIGHT_NOTICE "Copyright (C) 1998-2009 Kazuki IWAMOTO" | |
34 | +#define VMAID_COPYRIGHT_NOTICE "Copyright (C) 1998-2010 Kazuki Iwamoto" | |
35 | 35 | |
36 | 36 | |
37 | 37 | typedef struct _VmaidCursor |
@@ -1,6 +1,6 @@ | ||
1 | 1 | /* |
2 | 2 | Video maid |
3 | - copyright (c) 1998-2009 Kazuki IWAMOTO http://www.maid.org/ iwm@maid.org | |
3 | + copyright (c) 1998-2010 Kazuki Iwamoto http://www.maid.org/ iwm@maid.org | |
4 | 4 | |
5 | 5 | This program is free software: you can redistribute it and/or modify |
6 | 6 | it under the terms of the GNU General Public License as published by |
@@ -132,7 +132,7 @@ | ||
132 | 132 | const static gchar *str[3] = {N_("Name"), N_("Code"), N_("Attribute")}; |
133 | 133 | const static gchar *authors = |
134 | 134 | "Supreme Programmer:\n" |
135 | -" Kazuki IWAMOTO <iwm@maid.org>\n" | |
135 | +" Kazuki Iwamoto <iwm@maid.org>\n" | |
136 | 136 | "\n" |
137 | 137 | "Codecs Author:\n" |
138 | 138 | " ryoma <ryoma@users.sourceforge.jp>\n" |
@@ -1,7 +1,29 @@ | ||
1 | -2010-01-29 Kazuki IWAMOTO <iwm@maid.org> | |
1 | +2010-02-09 Kazuki IWAMOTO <iwm@maid.org> | |
2 | 2 | |
3 | 3 | * version 2.2.2 |
4 | 4 | |
5 | +2010-01-25 Kazuki IWAMOTO <iwm@maid.org> | |
6 | + | |
7 | + * misc/peimage.[ch] | |
8 | + * w32loader/w32ldr.[ch] | |
9 | + * w32loader/advapi32.[ch] | |
10 | + * w32loader/commctrl.[ch] | |
11 | + * w32loader/commdlg.[ch] | |
12 | + * w32loader/gdi32.[ch] | |
13 | + * w32loader/kernel32.[ch] | |
14 | + * w32loader/msvcrt.[ch] | |
15 | + * w32loader/ntdll.[ch] | |
16 | + * w32loader/ole32.[ch] | |
17 | + * w32loader/oleaut32.[ch] | |
18 | + * w32loader/rasapi32.[ch] | |
19 | + * w32loader/rasdlg.[ch] | |
20 | + * w32loader/shell32.[ch] | |
21 | + * w32loader/user32.[ch] | |
22 | + * w32loader/version.[ch] | |
23 | + * w32loader/winmm.[ch] | |
24 | + * w32loader/winsock.[ch] | |
25 | + * w32loader/windows.h: modify implement | |
26 | + | |
5 | 27 | 2009-12-29 Kazuki IWAMOTO <iwm@maid.org> |
6 | 28 | |
7 | 29 | * orz/orzcomm.c: modify variable typo |
@@ -0,0 +1,914 @@ | ||
1 | +/* | |
2 | + peimage | |
3 | + copyright (c) 1998-2010 Kazuki Iwamoto http://www.maid.org/ iwm@maid.org | |
4 | + | |
5 | + This program is free software: you can redistribute it and/or modify | |
6 | + it under the terms of the GNU General Public License as published by | |
7 | + the Free Software Foundation, either version 3 of the License, or | |
8 | + (at your option) any later version. | |
9 | + | |
10 | + This program is distributed in the hope that it will be useful, | |
11 | + but WITHOUT ANY WARRANTY; without even the implied warranty of | |
12 | + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
13 | + GNU General Public License for more details. | |
14 | + | |
15 | + You should have received a copy of the GNU General Public License | |
16 | + along with this program. If not, see <http://www.gnu.org/licenses/>. | |
17 | +*/ | |
18 | +#include "peimage.h" | |
19 | +#include "misc/fileio.h" | |
20 | + | |
21 | + | |
22 | +/****************************************************************************** | |
23 | +* * | |
24 | +* ja:PEイメージ関数 * | |
25 | +* * | |
26 | +******************************************************************************/ | |
27 | +/* ja:PEイメージを検証する | |
28 | + image,PEイメージ(ヘッダ) | |
29 | + length,バイト数 | |
30 | + RET,TRUE:正常終了,FALSE:エラー */ | |
31 | +gboolean | |
32 | +peimage_file_is_valid (const guint8 *image, | |
33 | + const gssize length) | |
34 | +{ | |
35 | + gint i, count; | |
36 | + gssize leng = 0; | |
37 | + const ImageSectionHeader *ish; | |
38 | + | |
39 | + if (!image || length < sizeof (ImageDosHeader) | |
40 | + || pe_idh_get_magic (image) != PEIMAGE_DOS_SIGNATURE | |
41 | + || length < pe_idh_get_lfanew (image) + sizeof (guint32) | |
42 | + + sizeof (ImageFileHeader) + sizeof (ImageOptionalHeader) | |
43 | + || pe_get_signature (image) != PEIMAGE_NT_SIGNATURE | |
44 | + || pe_ifh_get_machine (image) != PEIMAGE_FILE_MACHINE_I386 | |
45 | + || pe_ifh_get_size_of_optional_header (image) | |
46 | + != sizeof (ImageOptionalHeader) | |
47 | + || pe_ioh_get_magic (image) != PEIMAGE_NT_OPTIONAL_HDR_MAGIC | |
48 | + || length < peimage_file_header_bytes (image)) | |
49 | + return FALSE; | |
50 | + ish = pe_image_section_header (image); | |
51 | + count = pe_ifh_get_number_of_sections (image); | |
52 | + for (i = 0; i < count; i++) | |
53 | + { | |
54 | + gssize size; | |
55 | + | |
56 | + size = ish_get_virtual_address (ish) | |
57 | + + MAX (ish_get_virtual_size (ish), ish_get_size_of_raw_data (ish)); | |
58 | + if (leng < size) | |
59 | + leng = size; | |
60 | + ish++; | |
61 | + } | |
62 | + return leng <= pe_ioh_get_size_of_image (image); | |
63 | +} | |
64 | + | |
65 | + | |
66 | +/* ja:PEイメージを読み込む | |
67 | + file,ファイル名 | |
68 | + RET,PEイメージ,NULL:エラー */ | |
69 | +guint8 * | |
70 | +peimage_file_load (const gchar *file) | |
71 | +{ | |
72 | + guint8 *image; | |
73 | + gint i, number_of_sections; | |
74 | + gssize length, header_bytes, size_of_image; | |
75 | + FileIO *fio; | |
76 | + ImageSectionHeader *ish; | |
77 | + | |
78 | + if (!file) | |
79 | + return NULL; | |
80 | + fio = fileio_open (file, FILEIO_ACCESS_READ, FILEIO_SHARE_READ, | |
81 | + FILEIO_MODE_OPEN_EXISTING); | |
82 | + if (!fio) | |
83 | + return NULL; | |
84 | + image = g_malloc (sizeof (ImageDosHeader)); | |
85 | + if (!image || fileio_read (fio, image, sizeof (ImageDosHeader)) | |
86 | + != sizeof (ImageDosHeader) | |
87 | + || pe_idh_get_magic (image) != PEIMAGE_DOS_SIGNATURE) | |
88 | + { | |
89 | + g_free (image); | |
90 | + fileio_close (fio); | |
91 | + return NULL; | |
92 | + } | |
93 | + length = idh_get_lfanew (image) + sizeof (guint32) | |
94 | + + sizeof (ImageFileHeader) + sizeof (ImageOptionalHeader); | |
95 | + image = g_realloc (image, length); | |
96 | + length -= sizeof (ImageDosHeader); | |
97 | + if (!image || fileio_read (fio, image + sizeof (ImageDosHeader), length) | |
98 | + != length | |
99 | + || pe_get_signature (image) != PEIMAGE_NT_SIGNATURE | |
100 | + || pe_ifh_get_machine (image) != PEIMAGE_FILE_MACHINE_I386 | |
101 | + || pe_ifh_get_size_of_optional_header (image) | |
102 | + != sizeof (ImageOptionalHeader) | |
103 | + || pe_ioh_get_magic (image) != PEIMAGE_NT_OPTIONAL_HDR_MAGIC) | |
104 | + { | |
105 | + g_free (image); | |
106 | + fileio_close (fio); | |
107 | + return NULL; | |
108 | + } | |
109 | + number_of_sections = pe_ifh_get_number_of_sections (image); | |
110 | + header_bytes = peimage_file_header_bytes (image); | |
111 | + size_of_image = pe_ioh_get_size_of_image (image); | |
112 | + image = g_realloc (image, header_bytes); | |
113 | + ish = pe_image_section_header (image); | |
114 | + length = sizeof (ImageSectionHeader) * number_of_sections; | |
115 | + if (!image || fileio_read (fio, ish, length) != length) | |
116 | + { | |
117 | + g_free (image); | |
118 | + fileio_close (fio); | |
119 | + return NULL; | |
120 | + } | |
121 | + length = 0; | |
122 | + for (i = 0; i < number_of_sections; i++) | |
123 | + { | |
124 | + gssize size; | |
125 | + | |
126 | + size = ish_get_virtual_address (ish) + MAX (ish_get_virtual_size (ish), | |
127 | + ish_get_size_of_raw_data (ish)); | |
128 | + if (length < size) | |
129 | + length = size; | |
130 | + ish++; | |
131 | + } | |
132 | + if (length > size_of_image) | |
133 | + { | |
134 | + g_free (image); | |
135 | + fileio_close (fio); | |
136 | + return NULL; | |
137 | + } | |
138 | + image = g_realloc (image, size_of_image); | |
139 | + if (!image) | |
140 | + { | |
141 | + fileio_close (fio); | |
142 | + return NULL; | |
143 | + } | |
144 | + ish = pe_image_section_header (image); | |
145 | + length = pe_ioh_get_size_of_headers (image); | |
146 | + g_memset (image + length, 0, size_of_image - length); | |
147 | + length -= header_bytes; | |
148 | + if (fileio_read (fio, image + header_bytes, length) != length) | |
149 | + { | |
150 | + g_free (image); | |
151 | + fileio_close (fio); | |
152 | + return NULL; | |
153 | + } | |
154 | + for (i = 0; i < number_of_sections; i++) | |
155 | + { | |
156 | + length = ish_get_size_of_raw_data (ish); | |
157 | + if (fileio_seek (fio, ish_get_pointer_to_raw_data (ish), | |
158 | + FILEIO_SEEK_SET) < 0 | |
159 | + || fileio_read (fio, image + ish_get_virtual_address (ish), length) | |
160 | + != length) | |
161 | + { | |
162 | + g_free (image); | |
163 | + fileio_close (fio); | |
164 | + return NULL; | |
165 | + } | |
166 | + if (ish_get_virtual_size (ish) > length) | |
167 | + length = ish_get_virtual_size (ish); | |
168 | + ish_set_virtual_size (ish, length); | |
169 | + ish_set_size_of_raw_data (ish, length); | |
170 | + ish++; | |
171 | + } | |
172 | + if (!fileio_close (fio)) | |
173 | + { | |
174 | + g_free (image); | |
175 | + return NULL; | |
176 | + } | |
177 | + return image; | |
178 | +} | |
179 | + | |
180 | + | |
181 | +/* ja:PEイメージを再配置する | |
182 | + image,PEイメージ | |
183 | + delta,差 */ | |
184 | +void | |
185 | +peimage_file_relocate (guint8 *image, | |
186 | + const gint delta) | |
187 | +{ | |
188 | + if (image && delta != 0 && pe_ioh_get_data_directory_size (image, | |
189 | + PEIMAGE_DIRECTORY_ENTRY_BASERELOC)) | |
190 | + { | |
191 | + const ImageBaseRelocation *ibr; | |
192 | + | |
193 | + for (ibr = pe_image_base_relocation (image); | |
194 | + ibr_get_virtual_address (ibr); | |
195 | + ibr = (const ImageBaseRelocation *)((const guint8 *)ibr | |
196 | + + ibr_get_size_of_block (ibr))) | |
197 | + { | |
198 | + gint i, count; | |
199 | + guint32 address; | |
200 | + | |
201 | + address = ibr_get_virtual_address (ibr); | |
202 | + count = (ibr_get_size_of_block (ibr) - sizeof (guint32) * 2) | |
203 | + / sizeof (guint16); | |
204 | + for (i = 0; i < count; i++) | |
205 | + { | |
206 | + guint16 typeoffset; | |
207 | + | |
208 | + typeoffset = ibr_get_type_offset (ibr, i); | |
209 | + if (((typeoffset >> 12) & 0xf) == PEIMAGE_REL_BASED_HIGHLOW) | |
210 | + { | |
211 | + guint32 *p; | |
212 | + | |
213 | + p = (guint32 *)(image + address + (typeoffset & 0xfff)); | |
214 | + *p = GUINT32_TO_LE (GUINT32_FROM_LE (*p) + delta); | |
215 | + } | |
216 | + } | |
217 | + } | |
218 | + } | |
219 | +} | |
220 | + | |
221 | + | |
222 | +/* ja:PEイメージからAPIを取得する | |
223 | + image,PEイメージ | |
224 | + name,API名 | |
225 | + RET,アドレス,NULL:エラー */ | |
226 | +gconstpointer | |
227 | +peimage_file_get_func (const guint8 *image, | |
228 | + const gchar *name) | |
229 | +{ | |
230 | + gconstpointer func = NULL; | |
231 | + | |
232 | + if (image && pe_ioh_get_data_directory_size (image, | |
233 | + PEIMAGE_DIRECTORY_ENTRY_EXPORT)) | |
234 | + { | |
235 | + gint i, count; | |
236 | + const guint16 *ordinals; | |
237 | + const guint32 *functions, *names; | |
238 | + const ImageExportDirectory *ied; | |
239 | + | |
240 | + ied = pe_image_export_directory (image); | |
241 | + functions = (const guint32 *)(image | |
242 | + + ied_get_address_of_functions (ied)); | |
243 | + names = (const guint32 *)(image | |
244 | + + ied_get_address_of_names (ied)); | |
245 | + ordinals = (const guint16 *)(image | |
246 | + + ied_get_address_of_name_ordinals (ied)); | |
247 | + count = ied_get_number_of_names (ied); | |
248 | + for (i = 0; i < count; i++) | |
249 | + if (g_strcmp ((const gchar *)(image + GUINT32_FROM_LE (names[i])), | |
250 | + name) == 0) | |
251 | + { | |
252 | + func = image | |
253 | + + GUINT32_FROM_LE (functions[GUINT16_FROM_LE (ordinals[i])]); | |
254 | + break; | |
255 | + } | |
256 | + } | |
257 | + return func; | |
258 | +} | |
259 | + | |
260 | + | |
261 | +/* ja:PEイメージからAPIを取得する | |
262 | + image,PEイメージ | |
263 | + ordinal,オーディナル値 | |
264 | + RET,アドレス,NULL:エラー */ | |
265 | +gconstpointer | |
266 | +peimage_file_get_proc (const guint8 *image, | |
267 | + const guint16 ordinal) | |
268 | +{ | |
269 | + gconstpointer proc = NULL; | |
270 | + | |
271 | + if (image && pe_ioh_get_data_directory_size (image, | |
272 | + PEIMAGE_DIRECTORY_ENTRY_EXPORT)) | |
273 | + { | |
274 | + gint index; | |
275 | + const guint32 *functions; | |
276 | + const ImageExportDirectory *ied; | |
277 | + | |
278 | + ied = pe_image_export_directory (image); | |
279 | + functions = (const guint32 *)(image + ied_get_address_of_functions (ied)); | |
280 | + index = ordinal - ied_get_base (ied); | |
281 | + if (index < ied_get_number_of_functions (ied)) | |
282 | + proc = image + GUINT32_FROM_LE (functions[index]); | |
283 | + } | |
284 | + return proc; | |
285 | +} | |
286 | + | |
287 | + | |
288 | +/* ja:PEイメージからリソースを取得する | |
289 | + image,PEイメージ | |
290 | + key,リソース | |
291 | + RET,データ,NULL:エラー */ | |
292 | +gconstpointer | |
293 | +peimage_file_get_resource (const guint8 *image, | |
294 | + const gchar *key) | |
295 | +{ | |
296 | + gconstpointer resource = NULL; | |
297 | + | |
298 | + if (image && key && pe_ioh_get_data_directory_size (image, | |
299 | + PEIMAGE_DIRECTORY_ENTRY_RESOURCE)) | |
300 | + { | |
301 | + gchar **element; | |
302 | + | |
303 | + element = g_strsplit (key[0] == '/' ? key + 1 : key, "/", G_MAXINT); | |
304 | + if (element) | |
305 | + { | |
306 | + gint i; | |
307 | + guint32 address, offset = 0; | |
308 | + | |
309 | + address = pe_ioh_get_data_directory_virtual_address (image, | |
310 | + PEIMAGE_DIRECTORY_ENTRY_RESOURCE); | |
311 | + for (i = 0; element[i]; i++) | |
312 | + { | |
313 | + gint j, count; | |
314 | + const ImageResourceDirectory *ird; | |
315 | + const ImageResourceDirectoryEntry *irde; | |
316 | + | |
317 | + ird = (const ImageResourceDirectory *)(image + address + offset); | |
318 | + irde = (const ImageResourceDirectoryEntry *)(ird + 1); | |
319 | + count = ird_get_number_of_named_entries (ird) | |
320 | + + ird_get_number_of_id_entries (ird); | |
321 | + for (j = 0; j < count; j++) | |
322 | + { | |
323 | + gboolean result; | |
324 | + gchar *name; | |
325 | + | |
326 | + if (irde_get_id (irde) & 0x80000000) | |
327 | + { | |
328 | + gchar *utf8str; | |
329 | + const ImageResourceDirStringU *irdsu; | |
330 | + | |
331 | + irdsu = (const ImageResourceDirStringU *)(image + address | |
332 | + + (irde_get_id (irde) & 0x7fffffff)); | |
333 | + utf8str = g_utf16_to_utf8 (irdsu_get_name_string (irdsu), | |
334 | + irdsu_get_length (irdsu), NULL, NULL, NULL); | |
335 | + name = g_utf8_strup (utf8str, -1); | |
336 | + g_free (utf8str); | |
337 | + } | |
338 | + else | |
339 | + { | |
340 | + name = g_strdup_printf ("0x%x", irde_get_id (irde)); | |
341 | + } | |
342 | + result = g_strcmp (element[i], name) == 0; | |
343 | + g_free (name); | |
344 | + if (result) | |
345 | + break; | |
346 | + irde++; | |
347 | + } | |
348 | + if (j < count && irde_get_offset_to_data (irde) & 0x80000000) | |
349 | + offset = irde_get_offset_to_data (irde) & 0x7fffffff; | |
350 | + else if (j < count && !element[i + 1]) | |
351 | + resource = image + address + irde_get_offset_to_data (irde); | |
352 | + else | |
353 | + break; | |
354 | + } | |
355 | + g_strfreev (element); | |
356 | + } | |
357 | + } | |
358 | + return resource; | |
359 | +} | |
360 | + | |
361 | + | |
362 | +/****************************************************************************** | |
363 | +* * | |
364 | +* ja:モジュール関数群 * | |
365 | +* * | |
366 | +******************************************************************************/ | |
367 | +typedef struct _PeModule | |
368 | +{ | |
369 | + guint8 *image; | |
370 | + gchar *file, *name; | |
371 | + gint counter; | |
372 | + GList *glist; | |
373 | +} PeModule; | |
374 | + | |
375 | + | |
376 | +# ifdef USE_THREAD | |
377 | +G_LOCK_DEFINE_STATIC (critical); | |
378 | +static volatile gboolean critical = FALSE; | |
379 | +# endif /* USE_THREAD */ | |
380 | + | |
381 | + | |
382 | +static gchar * | |
383 | +peimage_get_basename (const gchar *file) | |
384 | +{ | |
385 | + gchar *name = NULL; | |
386 | + | |
387 | + if (file) | |
388 | + { | |
389 | + name = g_path_get_basename (file); | |
390 | + if (!g_strrchr (name, '.')) | |
391 | + { | |
392 | + gchar *tmp; | |
393 | + | |
394 | + tmp = g_strconcat (name, ".dll", NULL); | |
395 | + g_free (name); | |
396 | + name = tmp; | |
397 | + } | |
398 | + } | |
399 | + return name; | |
400 | +} | |
401 | + | |
402 | + | |
403 | +/* ja:既にロードされているPEイメージを取得する | |
404 | + process,プロセス | |
405 | + file,イメージ名 | |
406 | + RET,PEイメージ,NULL:ロードされていない */ | |
407 | +guint8 * | |
408 | +peimage_module_get_library (PeProcess *process, | |
409 | + const gchar *file) | |
410 | +{ | |
411 | + guint8 *image = NULL; | |
412 | + | |
413 | + if (file) | |
414 | + { | |
415 | + gchar *base, *name; | |
416 | + GList *glist; | |
417 | + | |
418 | + base = g_path_get_basename (file); | |
419 | + name = peimage_get_basename (file); | |
420 | +#ifdef USE_THREAD | |
421 | + G_LOCK (critical); | |
422 | + critical = TRUE; | |
423 | +#endif /* USE_THREAD */ | |
424 | + for (glist = g_list_first (process->module); | |
425 | + glist; glist = g_list_next (glist)) | |
426 | + if (g_ascii_strcasecmp (((PeModule *)glist->data)->name, base) == 0 | |
427 | + || g_ascii_strcasecmp (((PeModule *)glist->data)->name, name) == 0) | |
428 | + { | |
429 | + image = ((PeModule *)glist->data)->image; | |
430 | + break; | |
431 | + } | |
432 | +#ifdef USE_THREAD | |
433 | + critical = FALSE; | |
434 | + G_UNLOCK (critical); | |
435 | +#endif /* USE_THREAD */ | |
436 | + g_free (base); | |
437 | + g_free (name); | |
438 | + } | |
439 | + return image; | |
440 | +} | |
441 | + | |
442 | + | |
443 | +/* ja:モジュール構造体を取得する | |
444 | + process,プロセス | |
445 | + image,PEイメージ | |
446 | + RET,モジュール構造体,NULL:エラー */ | |
447 | +static PeModule * | |
448 | +peimage_module_get_info (PeProcess *process, | |
449 | + const guint8 *image) | |
450 | +{ | |
451 | + PeModule *module = NULL; | |
452 | + | |
453 | + if (image) | |
454 | + { | |
455 | + GList *glist; | |
456 | + | |
457 | +#ifdef USE_THREAD | |
458 | + G_LOCK (critical); | |
459 | + critical = TRUE; | |
460 | +#endif /* USE_THREAD */ | |
461 | + for (glist = g_list_first (process->module); | |
462 | + glist; glist = g_list_next (glist)) | |
463 | + if (((PeModule *)glist->data)->image == image) | |
464 | + { | |
465 | + module = glist->data; | |
466 | + break; | |
467 | + } | |
468 | +#ifdef USE_THREAD | |
469 | + critical = FALSE; | |
470 | + G_UNLOCK (critical); | |
471 | +#endif /* USE_THREAD */ | |
472 | + } | |
473 | + return module; | |
474 | +} | |
475 | + | |
476 | + | |
477 | +/* ja:イメージをロードする | |
478 | + process,プロセス | |
479 | + file,イメージ名 | |
480 | + RET,イメージ,NULL:エラー */ | |
481 | +guint8 * | |
482 | +peimage_module_load_library (PeProcess *process, | |
483 | + const gchar *file, | |
484 | + PeModuleSystem pemodule_system, | |
485 | + PeModuleRelocate pemodule_relocate, | |
486 | + PeModuleImport pemodule_import, | |
487 | + PeModuleEntry pemodule_entry, | |
488 | + gpointer user_data) | |
489 | +{ | |
490 | + gboolean result = TRUE; | |
491 | + guint8 *image; | |
492 | + gint i; | |
493 | + PeModule *module; | |
494 | + | |
495 | + if (!process || !file) | |
496 | + return NULL; | |
497 | + image = peimage_module_get_library (process, file); | |
498 | + if (image) | |
499 | + { | |
500 | + /* ja:既読 */ | |
501 | + module = peimage_module_get_info (process, image); | |
502 | + if (module) | |
503 | + { | |
504 | + module->counter++; | |
505 | + return module->image; | |
506 | + } | |
507 | + } | |
508 | + module = g_malloc0 (sizeof (PeModule)); | |
509 | + module->counter = 1; | |
510 | + module->name = peimage_get_basename (file); | |
511 | + if (pemodule_system) | |
512 | + module->image = pemodule_system (process, module->name, user_data); | |
513 | + if (module->image) | |
514 | + { | |
515 | + module->file = g_build_filename | |
516 | + (peimage_dir_get_path (PEIMAGE_DIR_SYSTEM), module->name, NULL); | |
517 | +#ifdef USE_THREAD | |
518 | + G_LOCK (critical); | |
519 | + critical = TRUE; | |
520 | +#endif /* USE_THREAD */ | |
521 | + process->module = g_list_append (process->module, module); | |
522 | +#ifdef USE_THREAD | |
523 | + critical = FALSE; | |
524 | + G_UNLOCK (critical); | |
525 | +#endif /* USE_THREAD */ | |
526 | + return module->image; | |
527 | + } | |
528 | + g_free (module->name); | |
529 | + | |
530 | + /* ja:ファイル読み込み */ | |
531 | + module->name = g_path_get_basename (file); | |
532 | + module->file = fileio_get_full_path (file); | |
533 | + module->image = peimage_file_load (module->file); | |
534 | + for (i = 0; i < 8; i++) | |
535 | + if (!module->image) | |
536 | + { | |
537 | + gchar *path; | |
538 | + | |
539 | + g_free (module->name); | |
540 | + g_free (module->file); | |
541 | + module->name = i % 2 == 0 ? g_path_get_basename (file) | |
542 | + : peimage_get_basename (file); | |
543 | + path = i < 4 ? g_build_filename (peimage_dir_get_path | |
544 | + (i / 2 == 0 ? PEIMAGE_DIR_SYSTEM : PEIMAGE_DIR_WINDOWS), | |
545 | + module->name, NULL) | |
546 | + : g_build_filename (peimage_dir_get_path (PEIMAGE_DIR_HOME), | |
547 | + i < 6 ? "bin" : "lib", module->name, NULL); | |
548 | + module->file = peimage_dir_get_case_insensitive (path); | |
549 | + g_free (path); | |
550 | + module->image = peimage_file_load (module->file); | |
551 | + } | |
552 | + if (!module->image) | |
553 | + { | |
554 | + g_free (module->name); | |
555 | + g_free (module->file); | |
556 | + g_free (module); | |
557 | + return NULL; | |
558 | + } | |
559 | + /* ja:再配置 */ | |
560 | + if (pemodule_relocate) | |
561 | + peimage_file_relocate (module->image, | |
562 | + pemodule_relocate (process, module->image, user_data)); | |
563 | + | |
564 | + /* ja:プロセス登録 */ | |
565 | +#ifdef USE_THREAD | |
566 | + G_LOCK (critical); | |
567 | + critical = TRUE; | |
568 | +#endif /* USE_THREAD */ | |
569 | + process->module = g_list_append (process->module, module); | |
570 | +#ifdef USE_THREAD | |
571 | + critical = FALSE; | |
572 | + G_UNLOCK (critical); | |
573 | +#endif /* USE_THREAD */ | |
574 | + | |
575 | + /* ja:インポート */ | |
576 | + if (pe_ioh_get_data_directory_size (module->image, | |
577 | + PEIMAGE_DIRECTORY_ENTRY_IMPORT)) | |
578 | + { | |
579 | + ImageImportDescriptor *iid; | |
580 | + | |
581 | + for (iid = pe_image_import_descriptor (module->image); | |
582 | + iid_get_name (iid); iid++) | |
583 | + { | |
584 | + gchar *name; | |
585 | + | |
586 | + name = (gchar *)(module->image + iid_get_name (iid)); | |
587 | + image = peimage_module_load_library (process, | |
588 | + name, | |
589 | + pemodule_system, | |
590 | + pemodule_relocate, | |
591 | + pemodule_import, | |
592 | + pemodule_entry, | |
593 | + user_data); | |
594 | + if (image) | |
595 | + { | |
596 | + ImageThunkData *iat, *ilt; | |
597 | + | |
598 | + iat = (ImageThunkData *)(module->image | |
599 | + + (iid_get_original_first_thunk (iid) | |
600 | + ? iid_get_original_first_thunk (iid) | |
601 | + : iid_get_first_thunk (iid))); | |
602 | + ilt = (ImageThunkData *)(module->image | |
603 | + + iid_get_first_thunk (iid)); | |
604 | + while (itd_get_address_of_data (iat)) | |
605 | + { | |
606 | + gconstpointer func; | |
607 | + | |
608 | + if (itd_get_ordinal (iat) & PEIMAGE_ORDINAL_FLAG) | |
609 | + { | |
610 | + guint16 ordinal; | |
611 | + | |
612 | + ordinal = itd_get_ordinal (iat) & ~PEIMAGE_ORDINAL_FLAG; | |
613 | + func = peimage_file_get_proc (image, ordinal); | |
614 | + } | |
615 | + else | |
616 | + { | |
617 | + const ImageImportByName *iibn; | |
618 | + | |
619 | + iibn = (const ImageImportByName *)(module->image | |
620 | + + itd_get_address_of_data (iat)); | |
621 | + func = peimage_file_get_func (image, | |
622 | + iibn_get_name (iibn)); | |
623 | + } | |
624 | + itd_set_function (ilt, pemodule_import | |
625 | + ? pemodule_import (process, func, user_data) | |
626 | + : GPOINTER_TO_UINT (func)); | |
627 | + iat++; | |
628 | + ilt++; | |
629 | + } | |
630 | + module->glist = g_list_append (module->glist, image); | |
631 | + } | |
632 | + else | |
633 | + { | |
634 | + result = FALSE; | |
635 | + } | |
636 | + } | |
637 | + } | |
638 | + if (!result) | |
639 | + { | |
640 | + peimage_module_free_library (process, module->image, NULL, user_data); | |
641 | + return NULL; | |
642 | + } | |
643 | + | |
644 | + if (pemodule_entry | |
645 | + && !pemodule_entry (process, module->image, TRUE, user_data)) | |
646 | + { | |
647 | + peimage_module_free_library (process, | |
648 | + module->image, pemodule_entry, user_data); | |
649 | + return NULL; | |
650 | + } | |
651 | + return module->image; | |
652 | +} | |
653 | + | |
654 | + | |
655 | +/* ja:イメージを解放する | |
656 | + process,プロセス | |
657 | + image,イメージ | |
658 | + RET,TRUE:正常終了,FALSE:エラー */ | |
659 | +gboolean | |
660 | +peimage_module_free_library (PeProcess *process, | |
661 | + const guint8 *image, | |
662 | + PeModuleEntry pemodule_entry, | |
663 | + gpointer user_data) | |
664 | +{ | |
665 | + gboolean result = FALSE; | |
666 | + PeModule *module; | |
667 | + | |
668 | + module = peimage_module_get_info (process, image); | |
669 | + if (module) | |
670 | + { | |
671 | + result = TRUE; | |
672 | + module->counter--; | |
673 | + if (module->counter <= 0) | |
674 | + { | |
675 | + if (pemodule_entry) | |
676 | + pemodule_entry (process, module->image, FALSE, user_data); | |
677 | +#ifdef USE_THREAD | |
678 | + G_LOCK (critical); | |
679 | + critical = TRUE; | |
680 | +#endif /* USE_THREAD */ | |
681 | + process->module = g_list_remove (process->module, module); | |
682 | +#ifdef USE_THREAD | |
683 | + critical = FALSE; | |
684 | + G_UNLOCK (critical); | |
685 | +#endif /* USE_THREAD */ | |
686 | + for (module->glist = g_list_first (module->glist); module->glist; | |
687 | + module->glist = g_list_delete_link (module->glist, module->glist)) | |
688 | + if (!peimage_module_free_library (process, | |
689 | + ((PeModule *)module->glist->data)->image, | |
690 | + pemodule_entry, user_data)) | |
691 | + result = FALSE; | |
692 | + g_free (module->image); | |
693 | + g_free (module->name); | |
694 | + g_free (module->file); | |
695 | + g_free (module); | |
696 | + } | |
697 | + } | |
698 | + return result; | |
699 | +} | |
700 | + | |
701 | + | |
702 | +/* ja:イメージの名前を取得する | |
703 | + process,プロセス | |
704 | + image,イメージ | |
705 | + RET,名前,NULL:エラー */ | |
706 | +const gchar * | |
707 | +peimage_module_get_filename (PeProcess *process, | |
708 | + const guint8 *image) | |
709 | +{ | |
710 | + PeModule *module; | |
711 | + | |
712 | + module = peimage_module_get_info (process, image); | |
713 | + return module ? module->file : NULL; | |
714 | +} | |
715 | + | |
716 | + | |
717 | +/****************************************************************************** | |
718 | +* * | |
719 | +* ja:ディレクトリ関数群 * | |
720 | +* * | |
721 | +******************************************************************************/ | |
722 | +/* ja:ディレクトリを取得する | |
723 | + dir,ディレクトリの種類 | |
724 | + RET,ディレクトリ */ | |
725 | +const gchar * | |
726 | +peimage_dir_get_path (const guint dir) | |
727 | +{ | |
728 | + gchar *file; | |
729 | + const gchar *key, *path = NULL; | |
730 | + const static gchar *dir_windows = NULL, *dir_system = NULL, *dir_temp = NULL; | |
731 | + const static gchar *dir_data = NULL, *dir_home = NULL; | |
732 | + gint i; | |
733 | + GKeyFile *key_file; | |
734 | + | |
735 | + switch (dir) | |
736 | + { | |
737 | + case PEIMAGE_DIR_WINDOWS: if (dir_windows) return dir_windows; break; | |
738 | + case PEIMAGE_DIR_SYSTEM: if (dir_system) return dir_system; break; | |
739 | + case PEIMAGE_DIR_TEMP: if (dir_temp) return dir_temp; break; | |
740 | + case PEIMAGE_DIR_DATA: if (dir_data) return dir_data; break; | |
741 | + case PEIMAGE_DIR_HOME: if (dir_home) return dir_home; | |
742 | + } | |
743 | + for (i = 0; i < 2 && !path; i++) | |
744 | + { | |
745 | + switch (dir) | |
746 | + { | |
747 | + case PEIMAGE_DIR_WINDOWS: | |
748 | + file = peimage_dir_get_filename ("system.ini", | |
749 | + i == 0 ? PEIMAGE_DIR_HOME : PEIMAGE_DIR_DATA); | |
750 | + key = "windows"; | |
751 | + break; | |
752 | + case PEIMAGE_DIR_SYSTEM: | |
753 | + file = peimage_dir_get_filename ("system.ini", | |
754 | + i == 0 ? PEIMAGE_DIR_HOME : PEIMAGE_DIR_DATA); | |
755 | + key = "system"; | |
756 | + break; | |
757 | + case PEIMAGE_DIR_TEMP: | |
758 | + file = peimage_dir_get_filename ("system.ini", | |
759 | + i == 0 ? PEIMAGE_DIR_HOME : PEIMAGE_DIR_DATA); | |
760 | + key = "temp"; | |
761 | + break; | |
762 | + case PEIMAGE_DIR_DATA: | |
763 | + if (i == 0) | |
764 | + { | |
765 | + file = g_build_filename (g_get_home_dir (), | |
766 | + ".maid.org", "w32ldr", "system.ini", NULL); | |
767 | + key = "data"; | |
768 | + break; | |
769 | + } | |
770 | + default: | |
771 | + file = NULL; | |
772 | + key = NULL; | |
773 | + } | |
774 | + if (file && key) | |
775 | + { | |
776 | + gchar *tmp, *utf8str; | |
777 | + | |
778 | + key_file = g_key_file_new (); | |
779 | + tmp = peimage_dir_get_case_insensitive (file); | |
780 | + g_key_file_load_from_file (key_file, tmp, G_KEY_FILE_NONE, NULL); | |
781 | + g_free (tmp); | |
782 | + utf8str = g_key_file_get_string (key_file, "directory", key, NULL); | |
783 | + g_key_file_free (key_file); | |
784 | + if (utf8str) | |
785 | + { | |
786 | + path = g_filename_from_utf8 (utf8str, -1, NULL, NULL, NULL); | |
787 | + g_free (utf8str); | |
788 | + } | |
789 | + } | |
790 | + g_free (file); | |
791 | + } | |
792 | + switch (dir) | |
793 | + { | |
794 | + case PEIMAGE_DIR_WINDOWS: | |
795 | + return dir_windows = path ? path | |
796 | +#ifdef BINDIR | |
797 | + : g_build_filename (BINDIR, "w32ldr", NULL); | |
798 | +#else /* not BINDIR */ | |
799 | + : "/usr/local/bin/w32ldr"; | |
800 | +#endif /* not BINDIR */ | |
801 | + case PEIMAGE_DIR_SYSTEM: | |
802 | + return dir_system = path ? path | |
803 | +#ifdef LIBDIR | |
804 | + : g_build_filename (LIBDIR, "w32ldr", NULL); | |
805 | +#else /* not LIBDIR */ | |
806 | + : "/usr/local/lib/w32ldr"; | |
807 | +#endif /* not LIBDIR */ | |
808 | + case PEIMAGE_DIR_TEMP: | |
809 | + return dir_temp = path ? path : g_get_tmp_dir (); | |
810 | + case PEIMAGE_DIR_DATA: | |
811 | + return dir_data = path ? path | |
812 | +#ifdef SYSCONFDIR | |
813 | + : g_build_filename (SYSCONFDIR, "w32ldr", NULL); | |
814 | +#else /* not SYSCONFDIR */ | |
815 | + : "/usr/local/etc/w32ldr"; | |
816 | +#endif /* not SYSCONFDIR */ | |
817 | + case PEIMAGE_DIR_HOME: | |
818 | + if (!dir_home) | |
819 | + dir_home = g_build_filename (g_get_home_dir (), | |
820 | + ".maid.org", "w32ldr", NULL); | |
821 | + return dir_home; | |
822 | + } | |
823 | + return NULL; | |
824 | +} | |
825 | + | |
826 | + | |
827 | +/* ja:大文字小文字を区別しないパス名を求める | |
828 | + path,ファイル名 | |
829 | + RET,大文字小文字を区別しないパス名 */ | |
830 | +gchar * | |
831 | +peimage_dir_get_case_insensitive (const gchar *path) | |
832 | +{ | |
833 | + gchar **element, *file = NULL; | |
834 | + gint i; | |
835 | + | |
836 | + if (!path) | |
837 | + return NULL; | |
838 | + if (path[0] == '\0') | |
839 | + return g_malloc0 (sizeof (gchar)); | |
840 | + element = g_strsplit (path, G_DIR_SEPARATOR_S, 0); | |
841 | + for (i = 0; element[i]; i++) | |
842 | + if ((element[i])[0] == '\0') | |
843 | + { | |
844 | + if (!file) | |
845 | + file = g_strdup (G_DIR_SEPARATOR_S); | |
846 | + } | |
847 | + else | |
848 | + { | |
849 | + gchar *tmp; | |
850 | + | |
851 | + tmp = file ? g_build_filename (file, element[i], NULL) | |
852 | + : g_strdup (element[i]); | |
853 | + if (g_file_test (tmp, G_FILE_TEST_EXISTS)) | |
854 | + { | |
855 | + g_free (file); | |
856 | + file = tmp; | |
857 | + } | |
858 | + else | |
859 | + { | |
860 | + const gchar *name; | |
861 | + GDir *dir; | |
862 | + | |
863 | + g_free (tmp); | |
864 | + tmp = NULL; | |
865 | + dir = g_dir_open (file ? file : ".", 0, NULL); | |
866 | + while ((name = g_dir_read_name (dir))) | |
867 | + if (g_ascii_strcasecmp (element[i], name) == 0) | |
868 | + { | |
869 | + tmp = file ? g_build_filename (file, name, NULL) | |
870 | + : g_strdup (name); | |
871 | + break; | |
872 | + } | |
873 | + g_dir_close (dir); | |
874 | + if (!tmp) | |
875 | + { | |
876 | + while (element[i]) | |
877 | + { | |
878 | + if ((element[i])[0] != '\0') | |
879 | + { | |
880 | + tmp = file ? g_build_filename (file, element[i], NULL) | |
881 | + : g_strdup (element[i]); | |
882 | + g_free (file); | |
883 | + file = tmp; | |
884 | + } | |
885 | + i++; | |
886 | + } | |
887 | + break; | |
888 | + } | |
889 | + g_free (file); | |
890 | + file = tmp; | |
891 | + } | |
892 | + } | |
893 | + g_strfreev (element); | |
894 | + return file; | |
895 | +} | |
896 | + | |
897 | + | |
898 | +/* ja:特定のディレクトリのファイルを取得する | |
899 | + file,元のファイル名 | |
900 | + dir,ディレクトリの種類 | |
901 | + RET,ファイル */ | |
902 | +gchar * | |
903 | +peimage_dir_get_filename (const gchar *file, | |
904 | + const guint dir) | |
905 | +{ | |
906 | + gchar *name, *tmp, *result; | |
907 | + | |
908 | + name = g_path_get_basename (file); | |
909 | + tmp = g_build_filename (peimage_dir_get_path (dir), name, NULL); | |
910 | + g_free (name); | |
911 | + result = peimage_dir_get_case_insensitive (tmp); | |
912 | + g_free (tmp); | |
913 | + return result; | |
914 | +} |
@@ -0,0 +1,839 @@ | ||
1 | +/* | |
2 | + peimage | |
3 | + copyright (c) 1998-2010 Kazuki Iwamoto http://www.maid.org/ iwm@maid.org | |
4 | + | |
5 | + This program is free software: you can redistribute it and/or modify | |
6 | + it under the terms of the GNU General Public License as published by | |
7 | + the Free Software Foundation, either version 3 of the License, or | |
8 | + (at your option) any later version. | |
9 | + | |
10 | + This program is distributed in the hope that it will be useful, | |
11 | + but WITHOUT ANY WARRANTY; without even the implied warranty of | |
12 | + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
13 | + GNU General Public License for more details. | |
14 | + | |
15 | + You should have received a copy of the GNU General Public License | |
16 | + along with this program. If not, see <http://www.gnu.org/licenses/>. | |
17 | +*/ | |
18 | +#ifndef __PEIMAGE_H__ | |
19 | +#define __PEIMAGE_H__ | |
20 | + | |
21 | + | |
22 | +#include "gcommon.h" | |
23 | + | |
24 | + | |
25 | +G_BEGIN_DECLS | |
26 | + | |
27 | + | |
28 | +#define PEIMAGE_DOS_SIGNATURE 0x5a4d | |
29 | +#define PEIMAGE_NT_SIGNATURE 0x00004550 | |
30 | +/* ja:ファイルヘッダ */ | |
31 | +#define PEIMAGE_FILE_MACHINE_I386 0x014c | |
32 | +#define PEIMAGE_FILE_EXECUTABLE_IMAGE 0x0002 | |
33 | +#define PEIMAGE_FILE_LINE_NUMS_STRIPPED 0x0004 | |
34 | +#define PEIMAGE_FILE_LOCAL_SYMS_STRIPPED 0x0008 | |
35 | +#define PEIMAGE_FILE_32BIT_MACHINE 0x0100 | |
36 | +#define PEIMAGE_FILE_DLL 0x2000 | |
37 | +/* ja:オプションヘッダ */ | |
38 | +#define PEIMAGE_NT_OPTIONAL_HDR_MAGIC 0x10b | |
39 | +#define PEIMAGE_SUBSYSTEM_UNKNOWN 0 | |
40 | +#define PEIMAGE_SUBSYSTEM_NATIVE 1 | |
41 | +#define PEIMAGE_SUBSYSTEM_WINDOWS_GUI 2 | |
42 | +#define PEIMAGE_SUBSYSTEM_WINDOWS_CUI 3 | |
43 | +#define PEIMAGE_SUBSYSTEM_POSIX_CUI 7 | |
44 | +#define PEIMAGE_SUBSYSTEM_WINDOWS_CE_GUI 9 | |
45 | +#define PEIMAGE_NUMBEROF_DIRECTORY_ENTRIES 16 | |
46 | +#define PEIMAGE_DIRECTORY_ENTRY_EXPORT 0 | |
47 | +#define PEIMAGE_DIRECTORY_ENTRY_IMPORT 1 | |
48 | +#define PEIMAGE_DIRECTORY_ENTRY_RESOURCE 2 | |
49 | +#define PEIMAGE_DIRECTORY_ENTRY_BASERELOC 5 | |
50 | +/* ja:セクションヘッダ */ | |
51 | +#define PEIMAGE_SIZEOF_SHORT_NAME 8 | |
52 | +#define PEIMAGE_SCN_CNT_CODE 0x00000020 | |
53 | +#define PEIMAGE_SCN_CNT_INITIALIZED_DATA 0x00000040 | |
54 | +#define PEIMAGE_SCN_CNT_UNINITIALIZED_DATA 0x00000080 | |
55 | +#define PEIMAGE_SCN_LNK_OVFL 0x01000000 | |
56 | +#define PEIMAGE_SCN_MEM_DISCARDABLE 0x02000000 | |
57 | +#define PEIMAGE_SCN_MEM_NOT_CACHED 0x04000000 | |
58 | +#define PEIMAGE_SCN_MEM_NOT_PAGED 0x08000000 | |
59 | +#define PEIMAGE_SCN_MEM_SHARED 0x10000000 | |
60 | +#define PEIMAGE_SCN_MEM_EXECUTE 0x20000000 | |
61 | +#define PEIMAGE_SCN_MEM_READ 0x40000000 | |
62 | +#define PEIMAGE_SCN_MEM_WRITE 0x80000000 | |
63 | +/* ja:エクスポートテーブル */ | |
64 | +#define PEIMAGE_ORDINAL_FLAG (1<<31) | |
65 | +/* ja:再配置テーブル */ | |
66 | +#define PEIMAGE_REL_BASED_HIGHLOW 3 | |
67 | + | |
68 | + | |
69 | +#define IDH_SIZE 64 | |
70 | +#define IFH_SIZE 20 | |
71 | +#define IDD_SIZE 8 | |
72 | +#define IOH_SIZE (96+IDD_SIZE*PEIMAGE_NUMBEROF_DIRECTORY_ENTRIES) | |
73 | +#define ISH_SIZE (PEIMAGE_SIZEOF_SHORT_NAME+32) | |
74 | +#define IED_SIZE 40 | |
75 | +#define IIBN_SIZE 2 | |
76 | +#define ITD_SIZE 4 | |
77 | +#define IID_SIZE 20 | |
78 | +#define IBR_SIZE 8 | |
79 | +#define IRD_SIZE 16 | |
80 | +#define IRDE_SIZE 8 | |
81 | +#define IRDSU_SIZE 2 | |
82 | +#define IRDA_SIZE 16 | |
83 | + | |
84 | + | |
85 | +#ifdef USE_GCC | |
86 | + | |
87 | + | |
88 | +/* ja:MS-DOSヘッダ */ | |
89 | +typedef struct _ImageDosHeader | |
90 | +{ | |
91 | + guint16 e_magic __attribute__((packed)); | |
92 | + guint16 e_cblp __attribute__((packed)); | |
93 | + guint16 e_cp __attribute__((packed)); | |
94 | + guint16 e_crlc __attribute__((packed)); | |
95 | + guint16 e_cparhdr __attribute__((packed)); | |
96 | + guint16 e_minalloc __attribute__((packed)); | |
97 | + guint16 e_maxalloc __attribute__((packed)); | |
98 | + guint16 e_ss __attribute__((packed)); | |
99 | + guint16 e_sp __attribute__((packed)); | |
100 | + guint16 e_csum __attribute__((packed)); | |
101 | + guint16 e_ip __attribute__((packed)); | |
102 | + guint16 e_cs __attribute__((packed)); | |
103 | + guint16 e_lfarlc __attribute__((packed)); | |
104 | + guint16 e_ovno __attribute__((packed)); | |
105 | + guint16 e_res[4] __attribute__((packed)); | |
106 | + guint16 e_oemid __attribute__((packed)); | |
107 | + guint16 e_oeminfo __attribute__((packed)); | |
108 | + guint16 e_res2[10] __attribute__((packed)); | |
109 | + gint32 e_lfanew __attribute__((packed)); | |
110 | +} ImageDosHeader; | |
111 | +/* ja:ファイルヘッダ */ | |
112 | +typedef struct _ImageFileHeader | |
113 | +{ | |
114 | + guint16 machine __attribute__((packed)); | |
115 | + guint16 number_of_sections __attribute__((packed)); | |
116 | + guint32 time_date_stamp __attribute__((packed)); | |
117 | + guint32 pointer_to_symbol_table __attribute__((packed)); | |
118 | + guint32 number_of_symbols __attribute__((packed)); | |
119 | + guint16 size_of_optional_header __attribute__((packed)); | |
120 | + guint16 characteristics __attribute__((packed)); | |
121 | +} ImageFileHeader; | |
122 | +/* ja:オプションヘッダ */ | |
123 | +typedef struct _ImageDataDirectory | |
124 | +{ | |
125 | + guint32 vrtual_address __attribute__((packed)); | |
126 | + guint32 size __attribute__((packed)); | |
127 | +} ImageDataDirectory; | |
128 | +typedef struct _ImageOptionalHeader | |
129 | +{ | |
130 | + guint16 magic __attribute__((packed)); | |
131 | + guint8 major_linker_version __attribute__((packed)); | |
132 | + guint8 minor_linker_version __attribute__((packed)); | |
133 | + guint32 size_of_code __attribute__((packed)); | |
134 | + guint32 size_of_initialized_data __attribute__((packed)); | |
135 | + guint32 size_of_uninitialized_data __attribute__((packed)); | |
136 | + guint32 address_of_entry_point __attribute__((packed)); | |
137 | + guint32 base_of_code __attribute__((packed)); | |
138 | + guint32 base_of_data __attribute__((packed)); | |
139 | + guint32 image_base __attribute__((packed)); | |
140 | + guint32 section_alignment __attribute__((packed)); | |
141 | + guint32 file_alignment __attribute__((packed)); | |
142 | + guint16 major_operating_system_version __attribute__((packed)); | |
143 | + guint16 minor_operating_system_version __attribute__((packed)); | |
144 | + guint16 major_image_version __attribute__((packed)); | |
145 | + guint16 minor_image_version __attribute__((packed)); | |
146 | + guint16 major_subsystem_version __attribute__((packed)); | |
147 | + guint16 minor_subsystem_version __attribute__((packed)); | |
148 | + guint32 win32_version_value __attribute__((packed)); | |
149 | + guint32 size_of_image __attribute__((packed)); | |
150 | + guint32 size_of_headers __attribute__((packed)); | |
151 | + guint32 check_sum __attribute__((packed)); | |
152 | + guint16 subsystem __attribute__((packed)); | |
153 | + guint16 dll_characteristics __attribute__((packed)); | |
154 | + guint32 size_of_stack_reserve __attribute__((packed)); | |
155 | + guint32 size_of_stack_commit __attribute__((packed)); | |
156 | + guint32 size_of_heap_reserve __attribute__((packed)); | |
157 | + guint32 size_of_heap_commit __attribute__((packed)); | |
158 | + guint32 loader_flags __attribute__((packed)); | |
159 | + guint32 number_of_rva_and_sizes __attribute__((packed)); | |
160 | + ImageDataDirectory data_directory[PEIMAGE_NUMBEROF_DIRECTORY_ENTRIES] __attribute__((packed)); | |
161 | +} ImageOptionalHeader; | |
162 | +/* ja:セクションヘッダ */ | |
163 | +typedef struct _ImageSectionHeader | |
164 | +{ | |
165 | + guint8 name[PEIMAGE_SIZEOF_SHORT_NAME] __attribute__((packed)); | |
166 | + union { | |
167 | + guint32 physical_address __attribute__((packed)); | |
168 | + guint32 virtual_size __attribute__((packed)); | |
169 | + } misc __attribute__((packed)); | |
170 | + guint32 virtual_address __attribute__((packed)); | |
171 | + guint32 size_of_raw_data __attribute__((packed)); | |
172 | + guint32 pointer_to_raw_data __attribute__((packed)); | |
173 | + guint32 pointer_to_relocations __attribute__((packed)); | |
174 | + guint32 pointer_to_linenumbers __attribute__((packed)); | |
175 | + guint16 number_of_relocations __attribute__((packed)); | |
176 | + guint16 number_of_linenumbers __attribute__((packed)); | |
177 | + guint32 characteristics __attribute__((packed)); | |
178 | +} ImageSectionHeader; | |
179 | +/* ja:エクスポートテーブル */ | |
180 | +typedef struct _ImageExportDirectory | |
181 | +{ | |
182 | + guint32 characteristics __attribute__((packed)); | |
183 | + guint32 time_date_stamp __attribute__((packed)); | |
184 | + guint16 major_version __attribute__((packed)); | |
185 | + guint16 minor_version __attribute__((packed)); | |
186 | + guint32 name __attribute__((packed)); | |
187 | + guint32 base __attribute__((packed)); | |
188 | + guint32 number_of_functions __attribute__((packed)); | |
189 | + guint32 number_of_Names __attribute__((packed)); | |
190 | + guint32 address_of_functions __attribute__((packed)); | |
191 | + guint32 address_of_names __attribute__((packed)); | |
192 | + guint32 address_of_name_ordinals __attribute__((packed)); | |
193 | +} ImageExportDirectory; | |
194 | +/* ja:インポートテーブル */ | |
195 | +typedef struct _ImageImportByName | |
196 | +{ | |
197 | + guint16 hint __attribute__((packed)); | |
198 | + guint8 name[1] __attribute__((packed)); | |
199 | +} ImageImportByName; | |
200 | +typedef struct _ImageThunkData | |
201 | +{ | |
202 | + union { | |
203 | + guint32 forwarder_string __attribute__((packed)); | |
204 | + guint32 function __attribute__((packed)); | |
205 | + guint32 ordinal __attribute__((packed)); | |
206 | + guint32 address_of_data __attribute__((packed)); | |
207 | + } u1 __attribute__((packed)); | |
208 | +} ImageThunkData; | |
209 | +typedef struct _ImageImportDescriptor | |
210 | +{ | |
211 | + union { | |
212 | + guint32 characteristics __attribute__((packed)); | |
213 | + guint32 original_first_thunk __attribute__((packed)); | |
214 | + } DummyUnionName __attribute__((packed)); | |
215 | + guint32 time_date_stamp __attribute__((packed)); | |
216 | + guint32 forwarder_chain __attribute__((packed)); | |
217 | + guint32 name __attribute__((packed)); | |
218 | + guint32 first_thunk __attribute__((packed)); | |
219 | +} ImageImportDescriptor; | |
220 | +/* ja:再配置テーブル */ | |
221 | +typedef struct _ImageBaseRelocation | |
222 | +{ | |
223 | + guint32 virtual_address __attribute__((packed)); | |
224 | + guint32 size_of_block __attribute__((packed)); | |
225 | + guint16 type_offset[1] __attribute__((packed)); | |
226 | +} ImageBaseRelocation; | |
227 | +/* ja:リソース */ | |
228 | +typedef struct _ImageResourceDirectory | |
229 | +{ | |
230 | + guint32 characteristics __attribute__((packed)); | |
231 | + guint32 time_date_stamp __attribute__((packed)); | |
232 | + guint16 major_version __attribute__((packed)); | |
233 | + guint16 minor_version __attribute__((packed)); | |
234 | + guint16 number_of_named_entries __attribute__((packed)); | |
235 | + guint16 number_of_id_entries __attribute__((packed)); | |
236 | +} ImageResourceDirectory; | |
237 | +typedef struct _ImageResourceDirectoryEntry | |
238 | +{ | |
239 | + guint32 id __attribute__((packed)); | |
240 | + guint32 offset_to_data __attribute__((packed)); | |
241 | +} ImageResourceDirectoryEntry; | |
242 | +typedef struct _ImageResourceDirStringU | |
243 | +{ | |
244 | + guint16 length __attribute__((packed)); | |
245 | + gunichar2 name_string[1] __attribute__((packed)); | |
246 | +} ImageResourceDirStringU; | |
247 | +typedef struct _ImageResourceDataEntry | |
248 | +{ | |
249 | + guint32 offset_to_data __attribute__((packed)); | |
250 | + guint32 size __attribute__((packed)); | |
251 | + guint32 code_page __attribute__((packed)); | |
252 | + guint32 reserved __attribute__((packed)); | |
253 | +} ImageResourceDataEntry; | |
254 | + | |
255 | + | |
256 | +#else /* not USE_GCC */ | |
257 | + | |
258 | +typedef struct _ImageDosHeader { guint8 dummy[IDH_SIZE]; } ImageDosHeader; | |
259 | +typedef struct _ImageFileHeader { guint8 dummy[IFH_SIZE]; } ImageFileHeader; | |
260 | +typedef struct _ImageDataDirectory { guint8 dummy[IDD_SIZE]; } ImageDataDirectory; | |
261 | +typedef struct _ImageOptionalHeader { guint8 dummy[IOH_SIZE]; } ImageOptionalHeader; | |
262 | +typedef struct _ImageSectionHeader { guint8 dummy[ISH_SIZE]; } ImageSectionHeader; | |
263 | +typedef struct _ImageExportDirectory { guint8 dummy[IED_SIZE]; } ImageExportDirectory; | |
264 | +typedef struct _ImageImportByName { guint8 dummy[IIBN_SIZE]; } ImageImportByName; | |
265 | +typedef struct _ImageThunkData { guint8 dummy[ITD_SIZE]; } ImageThunkData; | |
266 | +typedef struct _ImageImportDescriptor { guint8 dummy[IID_SIZE]; } ImageImportDescriptor; | |
267 | +typedef struct _ImageBaseRelocation { guint8 dummy[IBR_SIZE]; } ImageBaseRelocation; | |
268 | +typedef struct _ImageResourceDirectory { guint8 dummy[IRD_SIZE]; } ImageResourceDirectory; | |
269 | +typedef struct _ImageResourceDirectoryEntry { guint8 dummy[IRDE_SIZE]; } ImageResourceDirectoryEntry; | |
270 | +typedef struct _ImageResourceDirStringU { guint8 dummy[IRDSU_SIZE]; } ImageResourceDirStringU; | |
271 | +typedef struct _ImageResourceDataEntry { guint8 dummy[IRDA_SIZE]; } ImageResourceDataEntry; | |
272 | + | |
273 | + | |
274 | +#endif /* not USE_GCC */ | |
275 | + | |
276 | + | |
277 | +/****************************************************************************** | |
278 | +* * | |
279 | +* ja:PEイメージ構造体マクロ * | |
280 | +* * | |
281 | +******************************************************************************/ | |
282 | +#define idh_get_magic(idh) GUINT16_FROM_LE(*(guint16 *)(idh)) | |
283 | +#define idh_get_lfanew(idh) GINT32_FROM_LE(*(gint32 *)((guint8 *)(idh)+60)) | |
284 | +#define idh_set_magic(idh,magic) (*(guint16 *)(idh)=GUINT16_TO_LE(magic)) | |
285 | +#define idh_set_lfanew(idh,lfanew) (*(guint32 *)((guint8 *)(idh)+60)=GINT32_TO_LE(lfanew)) | |
286 | + | |
287 | +#define ifh_get_machine(ifh) GUINT16_FROM_LE(*(guint16 *)(ifh)) | |
288 | +#define ifh_get_number_of_sections(ifh) GUINT16_FROM_LE(*(guint16 *)((guint8 *)(ifh)+2)) | |
289 | +#define ifh_get_time_date_stamp(ifh) GUINT32_FROM_LE(*(guint32 *)((guint8 *)(ifh)+4)) | |
290 | +#define ifh_get_pointer_to_symbol_table(ifh) GUINT32_FROM_LE(*(guint32 *)((guint8 *)(ifh)+8)) | |
291 | +#define ifh_get_number_of_symbols(ifh) GUINT32_FROM_LE(*(guint32 *)((guint8 *)(ifh)+12)) | |
292 | +#define ifh_get_size_of_optional_header(ifh) GUINT16_FROM_LE(*(guint16 *)((guint8 *)(ifh)+16)) | |
293 | +#define ifh_get_characteristics(ifh) GUINT16_FROM_LE(*(guint16 *)((guint8 *)(ifh)+18)) | |
294 | +#define ifh_set_machine(ifh,machine) (*(guint16 *)(ifh)=GUINT16_TO_LE(machine)) | |
295 | +#define ifh_set_number_of_sections(ifh,number_of_sections) (*(guint16 *)((guint8 *)(ifh)+2)=GUINT16_TO_LE(number_of_sections)) | |
296 | +#define ifh_set_time_date_stamp(ifh,time_date_stamp) (*(guint32 *)((guint8 *)(ifh)+4)=GUINT32_TO_LE(time_date_stamp)) | |
297 | +#define ifh_set_pointer_to_symbol_table(ifh,pointer_to_symbol_table) (*(guint32 *)((guint8 *)(ifh)+8)=GUINT32_TO_LE(pointer_to_symbol_table)) | |
298 | +#define ifh_set_number_of_symbols(ifh,number_of_symbols) (*(guint32 *)((guint8 *)(ifh)+12)=GUINT32_TO_LE(number_of_symbols)) | |
299 | +#define ifh_set_size_of_optional_header(ifh,size_of_optional_header) (*(guint16 *)((guint8 *)(ifh)+16)=GUINT16_TO_LE(size_of_optional_header)) | |
300 | +#define ifh_set_characteristics(ifh,characteristics) (*(guint16 *)((guint8 *)(ifh)+18)=GUINT16_TO_LE(characteristics)) | |
301 | + | |
302 | + | |
303 | +#define idd_get_virtual_address(idd) GUINT32_FROM_LE(*(guint32 *)(idd)) | |
304 | +#define idd_get_size(idd) GUINT32_FROM_LE(*(guint32 *)((guint8 *)(idd)+4)) | |
305 | +#define idd_set_virtual_address(idd,virtual_address) (*(guint32 *)(idd)=GUINT32_TO_LE(virtual_address)) | |
306 | +#define idd_set_size(idd,size) (*(guint32 *)((guint8 *)(idd)+4)=GUINT32_TO_LE(size)) | |
307 | + | |
308 | + | |
309 | +#define ioh_get_magic(ioh) GUINT16_FROM_LE(*(guint16 *)(ioh)) | |
310 | +#define ioh_get_major_linker_version(ioh) (*((guint8 *)(ioh)+2)) | |
311 | +#define ioh_get_minor_linker_version(ioh) (*((guint8 *)(ioh)+3)) | |
312 | +#define ioh_get_size_of_code(ioh) GUINT32_FROM_LE(*(guint32 *)((guint8 *)(ioh)+4)) | |
313 | +#define ioh_get_size_of_initialized_data(ioh) GUINT32_FROM_LE(*(guint32 *)((guint8 *)(ioh)+8)) | |
314 | +#define ioh_get_size_of_uninitialized_data(ioh) GUINT32_FROM_LE(*(guint32 *)((guint8 *)(ioh)+12)) | |
315 | +#define ioh_get_address_of_entry_point(ioh) GUINT32_FROM_LE(*(guint32 *)((guint8 *)(ioh)+16)) | |
316 | +#define ioh_get_base_of_code(ioh) GUINT32_FROM_LE(*(guint32 *)((guint8 *)(ioh)+20)) | |
317 | +#define ioh_get_base_of_data(ioh) GUINT32_FROM_LE(*(guint32 *)((guint8 *)(ioh)+24)) | |
318 | +#define ioh_get_image_base(ioh) GUINT32_FROM_LE(*(guint32 *)((guint8 *)(ioh)+28)) | |
319 | +#define ioh_get_section_alignment(ioh) GUINT32_FROM_LE(*(guint32 *)((guint8 *)(ioh)+32)) | |
320 | +#define ioh_get_file_alignment(ioh) GUINT32_FROM_LE(*(guint32 *)((guint8 *)(ioh)+36)) | |
321 | +#define ioh_get_major_operating_system_version(ioh) GUINT16_FROM_LE(*(guint16 *)((guint8 *)(ioh)+40)) | |
322 | +#define ioh_get_minor_operating_system_version(ioh) GUINT16_FROM_LE(*(guint16 *)((guint8 *)(ioh)+42)) | |
323 | +#define ioh_get_major_image_version(ioh) GUINT16_FROM_LE(*(guint16 *)((guint8 *)(ioh)+44)) | |
324 | +#define ioh_get_minor_image_version(ioh) GUINT16_FROM_LE(*(guint16 *)((guint8 *)(ioh)+46)) | |
325 | +#define ioh_get_major_subsystem_version(ioh) GUINT16_FROM_LE(*(guint16 *)((guint8 *)(ioh)+48)) | |
326 | +#define ioh_get_minor_subsystem_version(ioh) GUINT16_FROM_LE(*(guint16 *)((guint8 *)(ioh)+50)) | |
327 | +#define ioh_get_win32_version_value(ioh) GUINT32_FROM_LE(*(guint32 *)((guint8 *)(ioh)+52)) | |
328 | +#define ioh_get_size_of_image(ioh) GUINT32_FROM_LE(*(guint32 *)((guint8 *)(ioh)+56)) | |
329 | +#define ioh_get_size_of_headers(ioh) GUINT32_FROM_LE(*(guint32 *)((guint8 *)(ioh)+60)) | |
330 | +#define ioh_get_check_sum(ioh) GUINT32_FROM_LE(*(guint32 *)((guint8 *)(ioh)+64)) | |
331 | +#define ioh_get_subsystem(ioh) GUINT16_FROM_LE(*(guint16 *)((guint8 *)(ioh)+68)) | |
332 | +#define ioh_get_dll_characteristics(ioh) GUINT16_FROM_LE(*(guint16 *)((guint8 *)(ioh)+70)) | |
333 | +#define ioh_get_size_of_stack_reserve(ioh) GUINT32_FROM_LE(*(guint32 *)((guint8 *)(ioh)+72)) | |
334 | +#define ioh_get_size_of_stack_commit(ioh) GUINT32_FROM_LE(*(guint32 *)((guint8 *)(ioh)+76)) | |
335 | +#define ioh_get_size_of_heap_reserve(ioh) GUINT32_FROM_LE(*(guint32 *)((guint8 *)(ioh)+80)) | |
336 | +#define ioh_get_size_of_heap_commit(ioh) GUINT32_FROM_LE(*(guint32 *)((guint8 *)(ioh)+84)) | |
337 | +#define ioh_get_loader_flags(ioh) GUINT32_FROM_LE(*(guint32 *)((guint8 *)(ioh)+88)) | |
338 | +#define ioh_get_number_of_rva_and_sizes(ioh) GUINT32_FROM_LE(*(guint32 *)((guint8 *)(ioh)+92)) | |
339 | +#define ioh_get_data_directory_virtual_address(ioh,entry) idd_get_virtual_address((guint8 *)(ioh)+96+(entry)*IDD_SIZE) | |
340 | +#define ioh_get_data_directory_size(ioh,entry) idd_get_size((guint8 *)(ioh)+96+(entry)*IDD_SIZE) | |
341 | +#define ioh_set_magic(ioh,magic) (*(guint16 *)(ioh)=GUINT16_TO_LE(magic)) | |
342 | +#define ioh_set_major_linker_version(ioh,major_linker_version) (*((guint8 *)(ioh)+2)=(major_linker_version)) | |
343 | +#define ioh_set_minor_linker_version(ioh,minor_linker_version) (*((guint8 *)(ioh)+3)=(minor_linker_version)) | |
344 | +#define ioh_set_size_of_code(ioh,size_of_code) (*(guint32 *)((guint8 *)(ioh)+4)=GUINT32_TO_LE(size_of_code)) | |
345 | +#define ioh_set_size_of_initialized_data(ioh,size_of_initialized_data) (*(guint32 *)((guint8 *)(ioh)+8)=GUINT32_TO_LE(size_of_initialized_data)) | |
346 | +#define ioh_set_size_of_uninitialized_data(ioh,size_of_uninitialized_data) (*(guint32 *)((guint8 *)(ioh)+12)=GUINT32_TO_LE(size_of_uninitialized_data)) | |
347 | +#define ioh_set_address_of_entry_point(ioh,address_of_entry_point) (*(guint32 *)((guint8 *)(ioh)+16)=GUINT32_TO_LE(address_of_entry_point)) | |
348 | +#define ioh_set_base_of_code(ioh,base_of_code) (*(guint32 *)((guint8 *)(ioh)+20)=GUINT32_TO_LE(base_of_code)) | |
349 | +#define ioh_set_base_of_data(ioh,base_of_data) (*(guint32 *)((guint8 *)(ioh)+24)=GUINT32_TO_LE(base_of_data)) | |
350 | +#define ioh_set_image_base(ioh,image_base) (*(guint32 *)((guint8 *)(ioh)+28)=GUINT32_TO_LE(image_base)) | |
351 | +#define ioh_set_section_alignment(ioh,section_alignment) (*(guint32 *)((guint8 *)(ioh)+32)=GUINT32_TO_LE(section_alignment)) | |
352 | +#define ioh_set_file_alignment(ioh,file_alignment) (*(guint32 *)((guint8 *)(ioh)+36)=GUINT32_TO_LE(file_alignment)) | |
353 | +#define ioh_set_major_operating_system_version(ioh,major_operating_system_version) (*(guint16 *)((guint8 *)(ioh)+40)=GUINT16_TO_LE(major_operating_system_version)) | |
354 | +#define ioh_set_minor_operating_system_version(ioh,minor_operating_system_version) (*(guint16 *)((guint8 *)(ioh)+42)=GUINT16_TO_LE(minor_operating_system_version)) | |
355 | +#define ioh_set_major_image_version(ioh,major_image_version) (*(guint16 *)((guint8 *)(ioh)+44)=GUINT16_TO_LE(major_image_version)) | |
356 | +#define ioh_set_minor_image_version(ioh,minor_image_version) (*(guint16 *)((guint8 *)(ioh)+46)=GUINT16_TO_LE(minor_image_version)) | |
357 | +#define ioh_set_major_subsystem_version(ioh,major_subsystem_version) (*(guint16 *)((guint8 *)(ioh)+48)=GUINT16_TO_LE(major_subsystem_version)) | |
358 | +#define ioh_set_minor_subsystem_version(ioh,minor_subsystem_version) (*(guint16 *)((guint8 *)(ioh)+50)=GUINT16_TO_LE(minor_subsystem_version)) | |
359 | +#define ioh_set_win32_version_value(ioh,win32_version_value) (*(guint32 *)((guint8 *)(ioh)+52)=GUINT32_TO_LE(win32_version_value)) | |
360 | +#define ioh_set_size_of_image(ioh,size_of_image) (*(guint32 *)((guint8 *)(ioh)+56)=GUINT32_TO_LE(size_of_image)) | |
361 | +#define ioh_set_size_of_headers(ioh,size_of_headers) (*(guint32 *)((guint8 *)(ioh)+60)=GUINT32_TO_LE(size_of_headers)) | |
362 | +#define ioh_set_check_sum(ioh,check_sum) (*(guint32 *)((guint8 *)(ioh)+64)=GUINT32_TO_LE(check_sum)) | |
363 | +#define ioh_set_subsystem(ioh,subsystem) (*(guint16 *)((guint8 *)(ioh)+68)=GUINT16_TO_LE(subsystem)) | |
364 | +#define ioh_set_dll_characteristics(ioh,dll_characteristics) (*(guint16 *)((guint8 *)(ioh)+70)=GUINT16_TO_LE(dll_characteristics)) | |
365 | +#define ioh_set_size_of_stack_reserve(ioh,size_of_stack_reserve) (*(guint32 *)((guint8 *)(ioh)+72)=GUINT32_TO_LE(size_of_stack_reserve)) | |
366 | +#define ioh_set_size_of_stack_commit(ioh,size_of_stack_commit) (*(guint32 *)((guint8 *)(ioh)+76)=GUINT32_TO_LE(size_of_stack_commit)) | |
367 | +#define ioh_set_size_of_heap_reserve(ioh,size_of_heap_reserve) (*(guint32 *)((guint8 *)(ioh)+80)=GUINT32_TO_LE(size_of_heap_reserve)) | |
368 | +#define ioh_set_size_of_heap_commit(ioh,size_of_heap_commit) (*(guint32 *)((guint8 *)(ioh)+84)=GUINT32_TO_LE(size_of_heap_commit)) | |
369 | +#define ioh_set_loader_flags(ioh,loader_flags) (*(guint32 *)((guint8 *)(ioh)+88)=GUINT32_TO_LE(loader_flags)) | |
370 | +#define ioh_set_number_of_rva_and_sizes(ioh,number_of_rva_and_sizes) (*(guint32 *)((guint8 *)(ioh)+92)=GUINT32_TO_LE(number_of_rva_and_sizes)) | |
371 | +#define ioh_set_data_directory_virtual_address(ioh,entry,virtual_address) idd_set_virtual_address((guint8 *)(ioh)+96+(entry)*IDD_SIZE,virtual_address) | |
372 | +#define ioh_set_data_directory_size(ioh,entry,size) idd_set_size((guint8 *)(ioh)+96+(entry)*IDD_SIZE,size) | |
373 | + | |
374 | + | |
375 | +#define ish_get_name(ish) (gchar *)(ish) | |
376 | +#define ish_get_physical_address(ish) GUINT32_FROM_LE(*(guint32 *)((guint8 *)(ish)+8)) | |
377 | +#define ish_get_virtual_size(ish) GUINT32_FROM_LE(*(guint32 *)((guint8 *)(ish)+8)) | |
378 | +#define ish_get_virtual_address(ish) GUINT32_FROM_LE(*(guint32 *)((guint8 *)(ish)+12)) | |
379 | +#define ish_get_size_of_raw_data(ish) GUINT32_FROM_LE(*(guint32 *)((guint8 *)(ish)+16)) | |
380 | +#define ish_get_pointer_to_raw_data(ish) GUINT32_FROM_LE(*(guint32 *)((guint8 *)(ish)+20)) | |
381 | +#define ish_get_pointer_to_relocations(ish) GUINT32_FROM_LE(*(guint32 *)((guint8 *)(ish)+24)) | |
382 | +#define ish_get_pointer_to_linenumbers(ish) GUINT32_FROM_LE(*(guint32 *)((guint8 *)(ish)+28)) | |
383 | +#define ish_get_number_of_relocations(ish) GUINT16_FROM_LE(*(guint16 *)((guint8 *)(ish)+32)) | |
384 | +#define ish_get_number_of_linenumbers(ish) GUINT16_FROM_LE(*(guint16 *)((guint8 *)(ish)+34)) | |
385 | +#define ish_get_characteristics(ish) GUINT32_FROM_LE(*(guint32 *)((guint8 *)(ish)+36)) | |
386 | +#define ish_set_name(ish,name) g_strncpy((gchar *)(ish),(gchar *)(name),PEIMAGE_SIZEOF_SHORT_NAME) | |
387 | +#define ish_set_physical_address(ish,physical_address) (*(guint32 *)((guint8 *)(ish)+8)=GUINT32_TO_LE(physical_address)) | |
388 | +#define ish_set_virtual_size(ish,virtual_size) (*(guint32 *)((guint8 *)(ish)+8)=GUINT32_TO_LE(virtual_size)) | |
389 | +#define ish_set_virtual_address(ish,virtual_address) (*(guint32 *)((guint8 *)(ish)+12)=GUINT32_TO_LE(virtual_address)) | |
390 | +#define ish_set_size_of_raw_data(ish,size_of_raw_data) (*(guint32 *)((guint8 *)(ish)+16)=GUINT32_TO_LE(size_of_raw_data)) | |
391 | +#define ish_set_pointer_to_raw_data(ish,pointer_to_raw_data) (*(guint32 *)((guint8 *)(ish)+20)=GUINT32_TO_LE(pointer_to_raw_data)) | |
392 | +#define ish_set_pointer_to_relocations(ish,pointer_to_relocations) (*(guint32 *)((guint8 *)(ish)+24)=GUINT32_TO_LE(pointer_to_relocations)) | |
393 | +#define ish_set_pointer_to_linenumbers(ish,pointer_to_linenumbers) (*(guint32 *)((guint8 *)(ish)+28)=GUINT32_TO_LE(pointer_to_linenumbers)) | |
394 | +#define ish_set_number_of_relocations(ish,number_of_relocations) (*(guint16 *)((guint8 *)(ish)+32)=GUINT16_TO_LE(number_of_relocations)) | |
395 | +#define ish_set_number_of_linenumbers(ish,number_of_linenumbers) (*(guint16 *)((guint8 *)(ish)+34)=GUINT16_TO_LE(number_of_linenumbers)) | |
396 | +#define ish_set_characteristics(ish,characteristics) (*(guint32 *)((guint8 *)(ish)+36)=GUINT32_TO_LE(characteristics)) | |
397 | + | |
398 | + | |
399 | +#define ied_get_characteristics(ied) GUINT32_FROM_LE(*(guint32 *)(ied)) | |
400 | +#define ied_get_time_date_stamp(ied) GUINT32_FROM_LE(*(guint32 *)((guint8 *)(ied)+4)) | |
401 | +#define ied_get_major_version(ied) GUINT16_FROM_LE(*(guint16 *)((guint8 *)(ied)+8)) | |
402 | +#define ied_get_minor_version(ied) GUINT16_FROM_LE(*(guint16 *)((guint8 *)(ied)+10)) | |
403 | +#define ied_get_name(ied) GUINT32_FROM_LE(*(guint32 *)((guint8 *)(ied)+12)) | |
404 | +#define ied_get_base(ied) GUINT32_FROM_LE(*(guint32 *)((guint8 *)(ied)+16)) | |
405 | +#define ied_get_number_of_functions(ied) GUINT32_FROM_LE(*(guint32 *)((guint8 *)(ied)+20)) | |
406 | +#define ied_get_number_of_names(ied) GUINT32_FROM_LE(*(guint32 *)((guint8 *)(ied)+24)) | |
407 | +#define ied_get_address_of_functions(ied) GUINT32_FROM_LE(*(guint32 *)((guint8 *)(ied)+28)) | |
408 | +#define ied_get_address_of_names(ied) GUINT32_FROM_LE(*(guint32 *)((guint8 *)(ied)+32)) | |
409 | +#define ied_get_address_of_name_ordinals(ied) GUINT32_FROM_LE(*(guint32 *)((guint8 *)(ied)+36)) | |
410 | +#define ied_set_characteristics(ied,characteristics) (*(guint32 *)(ied)=GUINT32_TO_LE(characteristics)) | |
411 | +#define ied_set_time_date_stamp(ied,time_date_stamp) (*(guint32 *)((guint8 *)(ied)+4)=GUINT32_TO_LE(time_date_stamp)) | |
412 | +#define ied_set_major_version(ied,major_version) (*(guint16 *)((guint8 *)(ied)+8)=GUINT16_TO_LE(major_version)) | |
413 | +#define ied_set_minor_version(ied,minor_version) (*(guint16 *)((guint8 *)(ied)+10)=GUINT16_TO_LE(minor_version)) | |
414 | +#define ied_set_name(ied,name) (*(guint32 *)((guint8 *)(ied)+12)=GUINT32_TO_LE(name)) | |
415 | +#define ied_set_base(ied,base) (*(guint32 *)((guint8 *)(ied)+16)=GUINT32_TO_LE(base)) | |
416 | +#define ied_set_number_of_functions(ied,number_of_functions) (*(guint32 *)((guint8 *)(ied)+20)=GUINT32_TO_LE(number_of_functions)) | |
417 | +#define ied_set_number_of_names(ied,number_of_names) (*(guint32 *)((guint8 *)(ied)+24)=GUINT32_TO_LE(number_of_names)) | |
418 | +#define ied_set_address_of_functions(ied,address_of_functions) (*(guint32 *)((guint8 *)(ied)+28)=GUINT32_TO_LE(address_of_functions)) | |
419 | +#define ied_set_address_of_names(ied,address_of_names) (*(guint32 *)((guint8 *)(ied)+32)=GUINT32_TO_LE(address_of_names)) | |
420 | +#define ied_set_address_of_name_ordinals(ied,address_of_name_ordinals) (*(guint32 *)((guint8 *)(ied)+36)=GUINT32_TO_LE(address_of_name_ordinals)) | |
421 | + | |
422 | + | |
423 | +#define iibn_get_hint(iibn) GUINT16_FROM_LE(*(guint16 *)(iibn)) | |
424 | +#define iibn_get_name(iibn) ((gchar *)(iibn)+2) | |
425 | +#define iibn_set_hint(iibn,hint) (*(guint16 *)(iibn)=GUINT16_TO_LE(hint)) | |
426 | +#define iibn_set_name(iibn,name) g_strcpy((gchar *)(iibn)+2,(gchar *)(name)) | |
427 | + | |
428 | + | |
429 | +#define itd_get_forwarder_string(itd) GUINT32_FROM_LE(*(guint32 *)(itd)) | |
430 | +#define itd_get_function(itd) GUINT32_FROM_LE(*(guint32 *)(itd)) | |
431 | +#define itd_get_ordinal(itd) GUINT32_FROM_LE(*(guint32 *)(itd)) | |
432 | +#define itd_get_address_of_data(itd) GUINT32_FROM_LE(*(guint32 *)(itd)) | |
433 | +#define itd_set_forwarder_string(itd,forwarder_string) (*(guint32 *)(itd)=GUINT32_TO_LE(forwarder_string)) | |
434 | +#define itd_set_function(itd,function) (*(guint32 *)(itd)=GUINT32_TO_LE(function)) | |
435 | +#define itd_set_ordinal(itd,ordinal) (*(guint32 *)(itd)=GUINT32_TO_LE(ordinal)) | |
436 | +#define itd_set_address_of_data(itd,address_of_data) (*(guint32 *)(itd)=GUINT32_TO_LE(address_of_data)) | |
437 | + | |
438 | + | |
439 | +#define iid_get_characteristics(iid) GUINT32_FROM_LE(*(guint32 *)(iid)) | |
440 | +#define iid_get_original_first_thunk(iid) GUINT32_FROM_LE(*(guint32 *)(iid)) | |
441 | +#define iid_get_time_date_stamp(iid) GUINT32_FROM_LE(*(guint32 *)((guint8 *)(iid)+4)) | |
442 | +#define iid_get_forwarder_chain(iid) GUINT32_FROM_LE(*(guint32 *)((guint8 *)(iid)+8)) | |
443 | +#define iid_get_name(iid) GUINT32_FROM_LE(*(guint32 *)((guint8 *)(iid)+12)) | |
444 | +#define iid_get_first_thunk(iid) GUINT32_FROM_LE(*(guint32 *)((guint8 *)(iid)+16)) | |
445 | +#define iid_set_characteristics(iid,characteristics) (*(guint32 *)(iid)=GUINT32_TO_LE(characteristics)) | |
446 | +#define iid_set_original_first_thunk(iid,original_first_thunk) (*(guint32 *)(iid)=GUINT32_TO_LE(original_first_thunk)) | |
447 | +#define iid_set_time_date_stamp(iid,time_date_stamp) (*(guint32 *)((guint8 *)(iid)+4)=GUINT32_TO_LE(time_date_stamp)) | |
448 | +#define iid_set_forwarder_chain(iid,forwarder_chain) (*(guint32 *)((guint8 *)(iid)+8)=GUINT32_TO_LE(forwarder_chain)) | |
449 | +#define iid_set_name(iid,name) (*(guint32 *)((guint8 *)(iid)+12)=GUINT32_TO_LE(name)) | |
450 | +#define iid_set_first_thunk(iid,first_thunk) (*(guint32 *)((guint8 *)(iid)+16)=GUINT32_TO_LE(first_thunk)) | |
451 | + | |
452 | + | |
453 | +#define ibr_get_virtual_address(ibr) GUINT32_FROM_LE(*(guint32 *)(ibr)) | |
454 | +#define ibr_get_size_of_block(ibr) GUINT32_FROM_LE(*(guint32 *)((guint8 *)(ibr)+4)) | |
455 | +#define ibr_get_type_offset(ibr,n) GUINT16_FROM_LE(*(guint16 *)((guint8 *)(ibr)+8+(n)*2)) | |
456 | +#define ibr_set_virtual_address(ibr,virtual_address) (*(guint32 *)(ibr)=GUINT32_TO_LE(virtual_address)) | |
457 | +#define ibr_set_size_of_block(ibr,size_of_block) (*(guint32 *)((guint8 *)(ibr)+4)=GUINT32_TO_LE(size_of_block)) | |
458 | +#define ibr_set_type_offset(ibr,n,type_offset) (*(guint16 *)((guint8 *)(ibr)+8+(n)*2)=GUINT16_TO_LE(type_offset)) | |
459 | + | |
460 | + | |
461 | +#define ird_get_characteristics(ird) GUINT32_FROM_LE(*(guint32 *)(ird)) | |
462 | +#define ird_get_time_date_stamp(ird) GUINT32_FROM_LE(*(guint32 *)((guint8 *)(ird)+4)) | |
463 | +#define ird_get_major_version(ird) GUINT16_FROM_LE(*(guint16 *)((guint8 *)(ird)+8)) | |
464 | +#define ird_get_minor_version(ird) GUINT16_FROM_LE(*(guint16 *)((guint8 *)(ird)+10)) | |
465 | +#define ird_get_number_of_named_entries(ird) GUINT16_FROM_LE(*(guint16 *)((guint8 *)(ird)+12)) | |
466 | +#define ird_get_number_of_id_entries(ird) GUINT16_FROM_LE(*(guint16 *)((guint8 *)(ird)+14)) | |
467 | +#define ird_set_characteristics(ird,characteristics) (*(guint32 *)(ird)=GUINT32_TO_LE(characteristics)) | |
468 | +#define ird_set_time_date_stamp(ird,time_date_stamp) (*(guint32 *)((guint8 *)(ird)+4)=GUINT32_TO_LE(time_date_stamp)) | |
469 | +#define ird_set_major_version(ird,major_version) (*(guint16 *)((guint8 *)(ird)+8)=GUINT16_TO_LE(major_version)) | |
470 | +#define ird_set_minor_version(ird,minor_version) (*(guint16 *)((guint8 *)(ird)+10)=GUINT16_TO_LE(minor_version)) | |
471 | +#define ird_set_number_of_named_entries(ird,number_of_named_entries) (*(guint16 *)((guint8 *)(ird)+12)=GUINT16_TO_LE(number_of_named_entries)) | |
472 | +#define ird_set_number_of_id_entries(ird,number_of_id_entries) (*(guint16 *)((guint8 *)(ird)+14)=GUINT16_TO_LE(number_of_id_entries)) | |
473 | + | |
474 | + | |
475 | +#define irde_get_id(irde) GUINT32_FROM_LE(*(guint32 *)(irde)) | |
476 | +#define irde_get_offset_to_data(irde) GUINT32_FROM_LE(*(guint32 *)((guint8 *)(irde)+4)) | |
477 | +#define irde_set_id(irde,id) (*(guint32 *)(irde)=GUINT32_TO_LE(id)) | |
478 | +#define irde_set_offset_to_data(irde,offset_to_data) (*(guint32 *)((guint8 *)(irde)+4)=GUINT32_TO_LE(offset_to_data)) | |
479 | + | |
480 | + | |
481 | +#define irdsu_get_length(irdsu) GUINT16_FROM_LE(*(guint16 *)(irdsu)) | |
482 | +#define irdsu_get_name_string(irdsu) (gunichar2 *)((guint8 *)(irdsu)+2) | |
483 | +#define irdsu_set_length(irdsu,length) (*(guint16 *)(irdsu)=GUINT16_TO_LE(length)) | |
484 | + | |
485 | + | |
486 | +#define irda_get_offset_to_data(irda) GUINT32_FROM_LE(*(guint32 *)(irda)) | |
487 | +#define irda_get_size(irda) GUINT32_FROM_LE(*(guint32 *)((guint8 *)(irda)+4)) | |
488 | +#define irda_get_code_page(irda) GUINT32_FROM_LE(*(guint32 *)((guint8 *)(irda)+8)) | |
489 | +#define irda_get_reserved(irda) GUINT32_FROM_LE(*(guint32 *)((guint8 *)(irda)+12)) | |
490 | +#define irda_set_offset_to_data(irda,offset_to_data) (*(guint32 *)(irda)=GUINT32_TO_LE(offset_to_data)) | |
491 | +#define irda_set_size(irda,size) (*(guint32 *)((guint8 *)(irda)+4)=GUINT32_TO_LE(size)) | |
492 | +#define irda_set_code_page(irda,code_page) (*(guint32 *)((guint8 *)(irda)+8)=GUINT32_TO_LE(code_page)) | |
493 | +#define irda_set_reserved(irda,reserved) (*(guint32 *)((guint8 *)(irda)+12)=GUINT32_TO_LE(reserved)) | |
494 | + | |
495 | + | |
496 | +/****************************************************************************** | |
497 | +* * | |
498 | +* ja:PEイメージマクロ * | |
499 | +* * | |
500 | +******************************************************************************/ | |
501 | +#define pe_signature(image) (guint32 *)((guint8 *)(image)+idh_get_lfanew(image)) | |
502 | +#define pe_get_signature(image) GUINT32_FROM_LE(*(guint32 *)((guint8 *)(image)+idh_get_lfanew(image))) | |
503 | +#define pe_set_signature(image,signature) (*(guint32 *)((guint8 *)(image)+idh_get_lfanew(image))=GUINT32_TO_LE(signature)) | |
504 | + | |
505 | + | |
506 | +#define pe_image_dos_header(image) (ImageDosHeader *)(image) | |
507 | +#define pe_idh_get_magic(image) idh_get_magic(pe_image_dos_header(image)) | |
508 | +#define pe_idh_get_lfanew(image) idh_get_lfanew(pe_image_dos_header(image)) | |
509 | +#define pe_idh_set_magic(image,magic) idh_set_magic(pe_image_dos_header(image),magic) | |
510 | +#define pe_idh_set_lfanew(image,lfanew) idh_set_lfanew(pe_image_dos_header(image),lfanew) | |
511 | + | |
512 | + | |
513 | +#define pe_image_file_header(image) (ImageFileHeader *)((guint8 *)(image)+idh_get_lfanew(image)+4) | |
514 | +#define pe_ifh_get_machine(image) ifh_get_machine(pe_image_file_header(image)) | |
515 | +#define pe_ifh_get_number_of_sections(image) ifh_get_number_of_sections(pe_image_file_header(image)) | |
516 | +#define pe_ifh_get_time_date_stamp(image) ifh_get_time_date_stamp(pe_image_file_header(image)) | |
517 | +#define pe_ifh_get_pointer_to_symbol_table(image) ifh_get_pointer_to_symbol_table(pe_image_file_header(image)) | |
518 | +#define pe_ifh_get_number_of_symbols(image) ifh_get_number_of_symbols(pe_image_file_header(image)) | |
519 | +#define pe_ifh_get_size_of_optional_header(image) ifh_get_size_of_optional_header(pe_image_file_header(image)) | |
520 | +#define pe_ifh_get_characteristics(image) ifh_get_characteristics(pe_image_file_header(image)) | |
521 | +#define pe_ifh_setmachine(imageh,machine) ifh_set_machine(pe_image_file_header(image),machine) | |
522 | +#define pe_ifh_set_number_of_sections(image,number_of_sections) ifh_set_number_of_sections(pe_image_file_header(image),number_of_sections) | |
523 | +#define pe_ifh_set_time_date_stamp(image,time_date_stamp) ifh_set_time_date_stamp(pe_image_file_header(image),time_date_stamp) | |
524 | +#define pe_ifh_set_pointer_to_symbol_table(image,pointer_to_symbol_table) ifh_set_pointer_to_symbol_table(pe_image_file_header(image),pointer_to_symbol_table) | |
525 | +#define pe_ifh_set_number_of_symbols(image,number_of_symbols) ifh_set_number_of_symbols(pe_image_file_header(image),number_of_symbols) | |
526 | +#define pe_ifh_set_size_of_optional_header(image,size_of_optional_header) ifh_set_size_of_optional_header(pe_image_file_header(image),size_of_optional_header) | |
527 | +#define pe_ifh_set_characteristics(image,characteristics) ifh_set_characteristics(pe_image_file_header(image),characteristics) | |
528 | + | |
529 | + | |
530 | +#define pe_image_optional_header(image) (ImageOptionalHeader *)((guint8 *)(image)+idh_get_lfanew(image)+4+IFH_SIZE) | |
531 | +#define pe_ioh_get_magic(image) ioh_get_magic(pe_image_optional_header(image)) | |
532 | +#define pe_ioh_get_major_linker_version(image) ioh_get_major_linker_version(pe_image_optional_header(image)) | |
533 | +#define pe_ioh_get_minor_linker_version(image) ioh_get_minor_linker_version(pe_image_optional_header(image)) | |
534 | +#define pe_ioh_get_size_of_code(image) ioh_get_size_of_code(pe_image_optional_header(image)) | |
535 | +#define pe_ioh_get_size_of_initialized_data(image) ioh_get_size_of_initialized_data(pe_image_optional_header(image)) | |
536 | +#define pe_ioh_get_size_of_uninitialized_data(image) ioh_get_size_of_uninitialized_data(pe_image_optional_header(image)) | |
537 | +#define pe_ioh_get_address_of_entry_point(image) ioh_get_address_of_entry_point(pe_image_optional_header(image)) | |
538 | +#define pe_ioh_get_base_of_code(image) ioh_get_base_of_code(pe_image_optional_header(image)) | |
539 | +#define pe_ioh_get_base_of_data(image) ioh_get_base_of_data(pe_image_optional_header(image)) | |
540 | +#define pe_ioh_get_image_base(image) ioh_get_image_base(pe_image_optional_header(image)) | |
541 | +#define pe_ioh_get_section_alignment(image) ioh_get_section_alignment(pe_image_optional_header(image)) | |
542 | +#define pe_ioh_get_file_alignment(image) ioh_get_file_alignment(pe_image_optional_header(image)) | |
543 | +#define pe_ioh_get_major_operating_system_version(image) ioh_get_major_operating_system_version(pe_image_optional_header(image)) | |
544 | +#define pe_ioh_get_minor_operating_system_version(image) ioh_get_minor_operating_system_version(pe_image_optional_header(image)) | |
545 | +#define pe_ioh_get_major_image_version(image) ioh_get_major_image_version(pe_image_optional_header(image)) | |
546 | +#define pe_ioh_get_minor_image_version(image) ioh_get_minor_image_version(pe_image_optional_header(image)) | |
547 | +#define pe_ioh_get_major_subsystem_version(image) ioh_get_major_subsystem_version(pe_image_optional_header(image)) | |
548 | +#define pe_ioh_get_minor_subsystem_version(image) ioh_get_minor_subsystem_version(pe_image_optional_header(image)) | |
549 | +#define pe_ioh_get_win32_version_value(image) ioh_get_win32_version_value(pe_image_optional_header(image)) | |
550 | +#define pe_ioh_get_size_of_image(image) ioh_get_size_of_image(pe_image_optional_header(image)) | |
551 | +#define pe_ioh_get_size_of_headers(image) ioh_get_size_of_headers(pe_image_optional_header(image)) | |
552 | +#define pe_ioh_get_check_sum(image) ioh_get_check_sum(pe_image_optional_header(image)) | |
553 | +#define pe_ioh_get_subsystem(image) ioh_get_subsystem(pe_image_optional_header(image)) | |
554 | +#define pe_ioh_get_dll_characteristics(image) ioh_get_dll_characteristics(pe_image_optional_header(image)) | |
555 | +#define pe_ioh_get_size_of_stack_reserve(image) ioh_get_size_of_stack_reserve(pe_image_optional_header(image)) | |
556 | +#define pe_ioh_get_size_of_stack_commit(image) ioh_get_size_of_stack_commit(pe_image_optional_header(image)) | |
557 | +#define pe_ioh_get_size_of_heap_reserve(image) ioh_get_size_of_heap_reserve(pe_image_optional_header(image)) | |
558 | +#define pe_ioh_get_size_of_heap_commit(image) ioh_get_size_of_heap_commit(pe_image_optional_header(image)) | |
559 | +#define pe_ioh_get_loader_flags(image) ioh_get_loader_flags(pe_image_optional_header(image)) | |
560 | +#define pe_ioh_get_number_of_rva_and_sizes(image) ioh_get_number_of_rva_and_sizes(pe_image_optional_header(image)) | |
561 | +#define pe_ioh_get_data_directory_virtual_address(image,entry) ioh_get_data_directory_virtual_address(pe_image_optional_header(image),entry) | |
562 | +#define pe_ioh_get_data_directory_size(image,entry) ioh_get_data_directory_size(pe_image_optional_header(image),entry) | |
563 | +#define pe_ioh_set_magic(image,magic) ioh_set_magic(pe_image_optional_header(image),magic) | |
564 | +#define pe_ioh_set_major_linker_version(image,major_linker_version) ioh_set_major_linker_version(pe_image_optional_header(image),major_linker_version) | |
565 | +#define pe_ioh_set_minor_linker_version(image,minor_linker_version) ioh_set_minor_linker_version(pe_image_optional_header(image),minor_linker_version) | |
566 | +#define pe_ioh_set_size_of_code(image,size_of_code) ioh_set_size_of_code(pe_image_optional_header(image),size_of_code) | |
567 | +#define pe_ioh_set_size_of_initialized_data(image,size_of_initialized_data) ioh_set_size_of_initialized_data(pe_image_optional_header(image),size_of_initialized_data) | |
568 | +#define pe_ioh_set_size_of_uninitialized_data(image,size_of_uninitialized_data) ioh_set_size_of_uninitialized_data(pe_image_optional_header(image),size_of_uninitialized_data) | |
569 | +#define pe_ioh_set_address_of_entry_point(image,address_of_entry_point) ioh_set_address_of_entry_point(pe_image_optional_header(image),address_of_entry_point) | |
570 | +#define pe_ioh_set_base_of_code(image,base_of_code) ioh_set_base_of_code(pe_image_optional_header(image),base_of_code) | |
571 | +#define pe_ioh_set_base_of_data(image,base_of_data) ioh_set_base_of_data(pe_image_optional_header(image),base_of_data) | |
572 | +#define pe_ioh_set_image_base(image,image_base) ioh_set_image_base(pe_image_optional_header(image),image_base) | |
573 | +#define pe_ioh_set_section_alignment(image,section_alignment) ioh_set_section_alignment(pe_image_optional_header(image),section_alignment) | |
574 | +#define pe_ioh_set_file_alignment(image,file_alignment) ioh_set_file_alignment(pe_image_optional_header(image),file_alignment) | |
575 | +#define pe_ioh_set_major_operating_system_version(image,major_operating_system_version) ioh_set_major_operating_system_version(pe_image_optional_header(image),major_operating_system_version) | |
576 | +#define pe_ioh_set_minor_operating_system_version(image,minor_operating_system_version) ioh_set_minor_operating_system_version(pe_image_optional_header(image),minor_operating_system_version) | |
577 | +#define pe_ioh_set_major_image_version(image,major_image_version) ioh_set_major_image_version(pe_image_optional_header(image),major_image_version) | |
578 | +#define pe_ioh_set_minor_image_version(image,minor_image_version) ioh_set_minor_image_version(pe_image_optional_header(image),minor_image_version) | |
579 | +#define pe_ioh_set_major_subsystem_version(image,major_subsystem_version) ioh_set_major_subsystem_version(pe_image_optional_header(image),major_subsystem_version) | |
580 | +#define pe_ioh_set_minor_subsystem_version(image,minor_subsystem_version) ioh_set_minor_subsystem_version(pe_image_optional_header(image),minor_subsystem_version) | |
581 | +#define pe_ioh_set_win32_version_value(image,win32_version_value) ioh_set_win32_version_value(pe_image_optional_header(image),win32_version_value) | |
582 | +#define pe_ioh_set_size_of_image(image,size_of_image) ioh_set_size_of_image(pe_image_optional_header(image),size_of_image) | |
583 | +#define pe_ioh_set_size_of_headers(image,size_of_headers) ioh_set_size_of_headers(pe_image_optional_header(image),size_of_headers) | |
584 | +#define pe_ioh_set_check_sum(image,check_sum) ioh_set_check_sum(pe_image_optional_header(image),check_sum) | |
585 | +#define pe_ioh_set_subsystem(image,subsystem) ioh_set_subsystem(pe_image_optional_header(image),subsystem) | |
586 | +#define pe_ioh_set_dll_characteristics(image,dll_characteristics) ioh_set_dll_characteristics(pe_image_optional_header(image),dll_characteristics) | |
587 | +#define pe_ioh_set_size_of_stack_reserve(image,size_of_stack_reserve) ioh_set_size_of_stack_reserve(pe_image_optional_header(image),size_of_stack_reserve) | |
588 | +#define pe_ioh_set_size_of_stack_commit(image,size_of_stack_commit) ioh_set_size_of_stack_commit(pe_image_optional_header(image),size_of_stack_commit) | |
589 | +#define pe_ioh_set_size_of_heap_reserve(image,size_of_heap_reserve) ioh_set_size_of_heap_reserve(pe_image_optional_header(image),size_of_heap_reserve) | |
590 | +#define pe_ioh_set_size_of_heap_commit(image,size_of_heap_commit) ioh_set_size_of_heap_commit(pe_image_optional_header(image),size_of_heap_commit) | |
591 | +#define pe_ioh_set_loader_flags(image,loader_flags) ioh_set_loader_flags(pe_image_optional_header(image),loader_flags) | |
592 | +#define pe_ioh_set_number_of_rva_and_sizes(image,number_of_rva_and_sizes) ioh_set_number_of_rva_and_sizes(pe_image_optional_header(image),number_of_rva_and_sizes) | |
593 | +#define pe_ioh_set_data_directory_virtual_address(image,entry,virtual_address) ioh_set_data_directory_virtual_address(pe_image_optional_header(image),entry,virtual_address) | |
594 | +#define pe_ioh_set_data_directory_size(image,entry,virtual_address) ioh_set_data_directory_size(pe_image_optional_header(image),entry,size) | |
595 | + | |
596 | + | |
597 | +#define pe_image_section_header_nth(image,n) (ImageSectionHeader *)((guint8 *)(image)+idh_get_lfanew(image)+4+IFH_SIZE+IOH_SIZE+(n)*ISH_SIZE) | |
598 | +#define pe_image_section_header(image) pe_image_section_header_nth(image,0) | |
599 | +#define pe_ish_get_name(image,n) ish_get_name(pe_image_section_header_nth(image,n)) | |
600 | +#define pe_ish_get_physical_address(image,n) ish_get_physical_address(pe_image_section_header_nth(image,n)) | |
601 | +#define pe_ish_get_virtual_size(image,n) ish_get_virtual_size(pe_image_section_header_nth(image,n)) | |
602 | +#define pe_ish_get_virtual_address(image,n) ish_get_virtual_address(pe_image_section_header_nth(image,n)) | |
603 | +#define pe_ish_get_size_of_raw_data(image,n) ish_get_size_of_raw_data(pe_image_section_header_nth(image,n)) | |
604 | +#define pe_ish_get_pointer_to_raw_data(image,n) ish_get_pointer_to_raw_data(pe_image_section_header_nth(image,n)) | |
605 | +#define pe_ish_get_pointer_to_relocations(image,n) ish_get_pointer_to_relocations(pe_image_section_header_nth(image,n)) | |
606 | +#define pe_ish_get_pointer_to_linenumbers(image,n) ish_get_pointer_to_linenumbers(pe_image_section_header_nth(image,n)) | |
607 | +#define pe_ish_get_number_of_relocations(image,n) ish_get_number_of_relocations(pe_image_section_header_nth(image,n)) | |
608 | +#define pe_ish_get_number_of_linenumbers(image,n) ish_get_number_of_linenumbers(pe_image_section_header_nth(image,n)) | |
609 | +#define pe_ish_get_characteristics(image,n) ish_get_characteristics(pe_image_section_header_nth(image,n)) | |
610 | +#define pe_ish_set_name(image,n,name) ish_get_name(pe_image_section_header_nth(image,n),name) | |
611 | +#define pe_ish_set_physical_address(image,n,physical_address) ish_set_physical_address(pe_image_section_header_nth(image,n),physical_address) | |
612 | +#define pe_ish_set_virtual_size(image,n,virtual_size) ish_set_virtual_size(pe_image_section_header_nth(image,n),virtual_size) | |
613 | +#define pe_ish_set_virtual_address(image,n,virtual_address) ish_set_virtual_address(pe_image_section_header_nth(image,n),virtual_address) | |
614 | +#define pe_ish_set_size_of_raw_data(image,n,size_of_raw_data) ish_set_size_of_raw_data(pe_image_section_header_nth(image,n),size_of_raw_data) | |
615 | +#define pe_ish_set_pointer_to_raw_data(image,n,pointer_to_raw_data) ish_set_pointer_to_raw_data(pe_image_section_header_nth(image,n),pointer_to_raw_data) | |
616 | +#define pe_ish_set_pointer_to_relocations(image,n,pointer_to_relocations) ish_set_pointer_to_relocations(pe_image_section_header_nth(image,n),pointer_to_relocations) | |
617 | +#define pe_ish_set_pointer_to_linenumbers(image,n,pointer_to_linenumbers) ish_set_pointer_to_linenumbers(pe_image_section_header_nth(image,n),pointer_to_linenumbers) | |
618 | +#define pe_ish_set_number_of_relocations(image,n,number_of_relocations) ish_set_number_of_relocations(pe_image_section_header_nth(image,n),number_of_relocations) | |
619 | +#define pe_ish_set_number_of_linenumbers(image,n,number_of_linenumbers) ish_set_number_of_linenumbers(pe_image_section_header_nth(image,n),number_of_linenumbers) | |
620 | +#define pe_ish_set_characteristics(image,n,characteristics) ish_set_characteristics(pe_image_section_header_nth(image,n),characteristics) | |
621 | + | |
622 | + | |
623 | +#define pe_image_export_directory(image) (ImageExportDirectory *)((guint8 *)(image)+pe_ioh_get_data_directory_virtual_address(image,PEIMAGE_DIRECTORY_ENTRY_EXPORT)) | |
624 | +#define pe_ied_get_characteristics(image) ied_get_characteristics(pe_image_export_directory(image)) | |
625 | +#define pe_ied_get_time_date_stamp(image) ied_get_time_date_stamp(pe_image_export_directory(image)) | |
626 | +#define pe_ied_get_major_version(image) ied_get_major_version(pe_image_export_directory(image)) | |
627 | +#define pe_ied_get_minor_version(image) ied_get_minor_version(pe_image_export_directory(image)) | |
628 | +#define pe_ied_get_name(image) ied_get_name(pe_image_export_directory(image)) | |
629 | +#define pe_ied_get_base(image) ied_get_base(pe_image_export_directory(image)) | |
630 | +#define pe_ied_get_number_of_functions(image) ied_get_number_of_functions(pe_image_export_directory(image)) | |
631 | +#define pe_ied_get_number_of_names(image) ied_get_number_of_names(pe_image_export_directory(image)) | |
632 | +#define pe_ied_get_address_of_functions(image) ied_get_address_of_functions(pe_image_export_directory(image)) | |
633 | +#define pe_ied_get_address_of_names(image) ied_get_address_of_names(pe_image_export_directory(image)) | |
634 | +#define pe_ied_get_address_of_name_ordinals(image) ied_get_address_of_name_ordinals(pe_image_export_directory(image)) | |
635 | +#define pe_ied_set_characteristics(image,characteristics) ied_set_characteristics(pe_image_export_directory(image),characteristics) | |
636 | +#define pe_ied_set_time_date_stamp(image,time_date_stamp) ied_set_time_date_stamp(pe_image_export_directory(image),time_date_stamp) | |
637 | +#define pe_ied_set_major_version(image,major_version) ied_set_major_version(pe_image_export_directory(image),major_version) | |
638 | +#define pe_ied_set_minor_version(image,minor_version) ied_set_minor_version(pe_image_export_directory(image),minor_version) | |
639 | +#define pe_ied_set_name(image,name) ied_set_name(pe_image_export_directory(image),name) | |
640 | +#define pe_ied_set_base(image,base) ied_set_base(pe_image_export_directory(image),base) | |
641 | +#define pe_ied_set_number_of_functions(image,number_of_functions) ied_set_number_of_functions(pe_image_export_directory(image),number_of_functions) | |
642 | +#define pe_ied_set_number_of_names(image,number_of_names) ied_set_number_of_names(pe_image_export_directory(image),number_of_names) | |
643 | +#define pe_ied_set_address_of_functions(image,address_of_functions) ied_set_address_of_functions(pe_image_export_directory(image),address_of_functions) | |
644 | +#define pe_ied_set_address_of_names(image,address_of_names) ied_set_address_of_names(pe_image_export_directory(image),address_of_names) | |
645 | +#define pe_ied_set_address_of_name_ordinals(image,address_of_name_ordinals) ied_set_address_of_name_ordinals(pe_image_export_directory(image),address_of_name_ordinals) | |
646 | + | |
647 | + | |
648 | +#define pe_image_import_descriptor_nth(image,n) (ImageImportDescriptor *)((guint8 *)(image)+pe_ioh_get_data_directory_virtual_address(image,PEIMAGE_DIRECTORY_ENTRY_IMPORT)+(n)*IID_SIZE) | |
649 | +#define pe_image_import_descriptor(image) pe_image_import_descriptor_nth(image,0) | |
650 | +#define pe_iid_get_characteristics(image,n) iid_get_characteristics(pe_image_import_descriptor_nth(image,n)) | |
651 | +#define pe_iid_get_original_first_thunk(image,n) iid_get_original_first_thunk(pe_image_import_descriptor_nth(image,n)) | |
652 | +#define pe_iid_get_time_date_stamp(image,n) iid_get_time_date_stamp(pe_image_import_descriptor_nth(image,n)) | |
653 | +#define pe_iid_get_forwarder_chain(image,n) iid_get_forwarder_chain(pe_image_import_descriptor_nth(image,n)) | |
654 | +#define pe_iid_get_name(image,n) iid_get_name(pe_image_import_descriptor_nth(image,n)) | |
655 | +#define pe_iid_get_first_thunk(image,n) iid_get_first_thunk(pe_image_import_descriptor_nth(image,n)) | |
656 | +#define pe_iid_set_characteristics(image,n,characteristics) iid_set_characteristics(pe_image_import_descriptor_nth(image,n),characteristics) | |
657 | +#define pe_iid_set_original_first_thunk(image,n,original_first_thunk) iid_set_original_first_thunk(pe_image_import_descriptor_nth(image,n),original_first_thunk) | |
658 | +#define pe_iid_set_time_date_stamp(image,n,time_date_stamp) iid_set_time_date_stamp(pe_image_import_descriptor_nth(image,n),time_date_stamp) | |
659 | +#define pe_iid_set_forwarder_chain(image,n,forwarder_chain) iid_set_forwarder_chain(pe_image_import_descriptor_nth(image,n),forwarder_chain) | |
660 | +#define pe_iid_set_name(image,n,name) iid_set_name(pe_image_import_descriptor_nth(image,n),name) | |
661 | +#define pe_iid_set_first_thunk(image,n,first_thunk) iid_set_first_thunk(pe_image_import_descriptor_nth(image,n),first_thunk) | |
662 | + | |
663 | + | |
664 | +#define pe_image_base_relocation(image) (ImageBaseRelocation *)((guint8 *)(image)+pe_ioh_get_data_directory_virtual_address(image,PEIMAGE_DIRECTORY_ENTRY_BASERELOC)) | |
665 | + | |
666 | + | |
667 | +#define pe_image_resource_directory(image) (ImageResourceDirectory *)((guint8 *)(image)+pe_ioh_get_data_directory_virtual_address(image,PEIMAGE_DIRECTORY_ENTRY_RESOURCE)) | |
668 | + | |
669 | + | |
670 | +/****************************************************************************** | |
671 | +* * | |
672 | +* ja:PEイメージ関数 * | |
673 | +* * | |
674 | +******************************************************************************/ | |
675 | +/* ja:PEイメージのヘッダサイズを取得する | |
676 | + image,PEイメージ(ヘッダ) | |
677 | + RET,バイト数 */ | |
678 | +#define peimage_file_header_bytes(image) \ | |
679 | + (pe_idh_get_lfanew(image)+sizeof(guint32) \ | |
680 | + +sizeof(ImageFileHeader)+sizeof(ImageOptionalHeader) \ | |
681 | + +sizeof(ImageSectionHeader)*pe_ifh_get_number_of_sections(image)) | |
682 | + | |
683 | + | |
684 | +/* ja:PEイメージを検証する | |
685 | + image,PEイメージ(ヘッダ) | |
686 | + length,バイト数 | |
687 | + RET,TRUE:正常終了,FALSE:エラー */ | |
688 | +gboolean | |
689 | +peimage_file_is_valid (const guint8 *image, | |
690 | + const gssize length); | |
691 | + | |
692 | + | |
693 | +/* ja:PEイメージを読み込む | |
694 | + file,ファイル名 | |
695 | + RET,PEイメージ,NULL:エラー */ | |
696 | +guint8 * | |
697 | +peimage_file_load (const gchar *file); | |
698 | + | |
699 | + | |
700 | +/* ja:PEイメージを再配置する | |
701 | + image,PEイメージ | |
702 | + delta,差 */ | |
703 | +void | |
704 | +peimage_file_relocate (guint8 *image, | |
705 | + const gint delta); | |
706 | + | |
707 | + | |
708 | +/* ja:PEイメージからAPIを取得する | |
709 | + image,PEイメージ | |
710 | + name,API名 | |
711 | + RET,アドレス,NULL:エラー */ | |
712 | +gconstpointer | |
713 | +peimage_file_get_func (const guint8 *image, | |
714 | + const gchar *name); | |
715 | + | |
716 | + | |
717 | +/* ja:PEイメージからAPIを取得する | |
718 | + image,PEイメージ | |
719 | + ordinal,オーディナル値 | |
720 | + RET,アドレス,NULL:エラー */ | |
721 | +gconstpointer | |
722 | +peimage_file_get_proc (const guint8 *image, | |
723 | + const guint16 ordinal); | |
724 | + | |
725 | + | |
726 | +/* ja:PEイメージからリソースを取得する | |
727 | + image,PEイメージ | |
728 | + key,リソース | |
729 | + RET,データ,NULL:エラー */ | |
730 | +gconstpointer | |
731 | +peimage_file_get_resource (const guint8 *image, | |
732 | + const gchar *key); | |
733 | + | |
734 | + | |
735 | +/****************************************************************************** | |
736 | +* * | |
737 | +* ja:モジュール関数群 * | |
738 | +* * | |
739 | +******************************************************************************/ | |
740 | +typedef struct _PeProcess | |
741 | +{ | |
742 | + GList *module; | |
743 | +} PeProcess; | |
744 | +typedef guint8 *(*PeModuleSystem)(PeProcess *, const gchar *, gpointer); | |
745 | +typedef gint (*PeModuleRelocate)(PeProcess *, const guint8 *, gpointer); | |
746 | +typedef guint32 (*PeModuleImport)(PeProcess *, gconstpointer, gpointer); | |
747 | +typedef gboolean (*PeModuleEntry)(PeProcess *, const guint8 *, const gboolean, gpointer); | |
748 | + | |
749 | + | |
750 | +/* ja:既にロードされているPEイメージを取得する | |
751 | + process,プロセス | |
752 | + file,イメージ名 | |
753 | + RET,PEイメージ,NULL:ロードされていない */ | |
754 | +guint8 * | |
755 | +peimage_module_get_library (PeProcess *process, | |
756 | + const gchar *file); | |
757 | + | |
758 | + | |
759 | +/* ja:PEイメージをロードする | |
760 | + process,プロセス | |
761 | + file,イメージ名 | |
762 | + pemodule_system,システムイメージ用コールバック | |
763 | + pemodule_relocale,再配置用コールバック | |
764 | + pemodule_import,インポート用コールバック | |
765 | + pemodule_entry,エントリーポイント用コールバック | |
766 | + user_data,ユーザデータ | |
767 | + RET,PEイメージ,NULL:エラー */ | |
768 | +guint8 * | |
769 | +peimage_module_load_library (PeProcess *process, | |
770 | + const gchar *file, | |
771 | + PeModuleSystem pemodule_system, | |
772 | + PeModuleRelocate pemodule_relocale, | |
773 | + PeModuleImport pemodule_import, | |
774 | + PeModuleEntry pemodule_entry, | |
775 | + gpointer user_data); | |
776 | + | |
777 | + | |
778 | +/* ja:PEイメージを解放する | |
779 | + process,プロセス | |
780 | + image,PEイメージ | |
781 | + pemodule_entry,エントリーポイント用コールバック | |
782 | + user_data,ユーザデータ | |
783 | + RET,TRUE:正常終了,FALSE:エラー */ | |
784 | +gboolean | |
785 | +peimage_module_free_library (PeProcess *process, | |
786 | + const guint8 *image, | |
787 | + PeModuleEntry pemodule_entry, | |
788 | + gpointer user_data); | |
789 | + | |
790 | + | |
791 | +/* ja:イメージの名前を取得する | |
792 | + process,プロセス | |
793 | + image,イメージ | |
794 | + RET,名前,NULL:エラー */ | |
795 | +const gchar * | |
796 | +peimage_module_get_filename (PeProcess *process, | |
797 | + const guint8 *image); | |
798 | + | |
799 | + | |
800 | +/****************************************************************************** | |
801 | +* * | |
802 | +* ja:ディレクトリ関数群 * | |
803 | +* * | |
804 | +******************************************************************************/ | |
805 | +#define PEIMAGE_DIR_WINDOWS 0 | |
806 | +#define PEIMAGE_DIR_SYSTEM 1 | |
807 | +#define PEIMAGE_DIR_TEMP 2 | |
808 | +#define PEIMAGE_DIR_DATA 3 | |
809 | +#define PEIMAGE_DIR_HOME 4 | |
810 | + | |
811 | + | |
812 | +/* ja:ディレクトリを取得する | |
813 | + dir,ディレクトリの種類 | |
814 | + RET,ディレクトリ */ | |
815 | +const gchar * | |
816 | +peimage_dir_get_path (const guint dir); | |
817 | + | |
818 | + | |
819 | +/* ja:大文字小文字を区別しないパス名を求める | |
820 | + path,ファイル名 | |
821 | + RET,大文字小文字を区別しないパス名 */ | |
822 | +gchar * | |
823 | +peimage_dir_get_case_insensitive (const gchar *path); | |
824 | + | |
825 | + | |
826 | +/* ja:特定のディレクトリのファイルを取得する | |
827 | + file,元のファイル名 | |
828 | + dir,ディレクトリの種類 | |
829 | + RET,ファイル */ | |
830 | +gchar * | |
831 | +peimage_dir_get_filename (const gchar *file, | |
832 | + const guint dir); | |
833 | + | |
834 | + | |
835 | + | |
836 | +G_END_DECLS | |
837 | + | |
838 | + | |
839 | +#endif /* __PEIMAGE_H__ */ |
@@ -1,10 +1,10 @@ | ||
1 | 1 | /* |
2 | - avicore | |
3 | - copyright (c) 1998-2007 Kazuki IWAMOTO http://www.maid.org/ iwm@maid.org | |
2 | + bitmap | |
3 | + copyright (c) 1998-2010 Kazuki Iwamoto http://www.maid.org/ iwm@maid.org | |
4 | 4 | |
5 | - This program is free software; you can redistribute it and/or modify | |
5 | + This program is free software: you can redistribute it and/or modify | |
6 | 6 | it under the terms of the GNU General Public License as published by |
7 | - the Free Software Foundation; either version 2 of the License, or | |
7 | + the Free Software Foundation, either version 3 of the License, or | |
8 | 8 | (at your option) any later version. |
9 | 9 | |
10 | 10 | This program is distributed in the hope that it will be useful, |
@@ -13,8 +13,7 @@ | ||
13 | 13 | GNU General Public License for more details. |
14 | 14 | |
15 | 15 | You should have received a copy of the GNU General Public License |
16 | - along with this program; if not, write to the Free Software | |
17 | - Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA | |
16 | + along with this program. If not, see <http://www.gnu.org/licenses/>. | |
18 | 17 | */ |
19 | 18 | #include "bitmap.h" |
20 | 19 |
@@ -311,7 +310,7 @@ | ||
311 | 310 | j |= 7; |
312 | 311 | rgbquad_set (rgb, i, RGB_BLUE, j); |
313 | 312 | j = (ptl[i].green_min + ptl[i].green_max) / 2 * 8; |
314 | - if (j&8) | |
313 | + if (j & 8) | |
315 | 314 | j |= 7; |
316 | 315 | rgbquad_set (rgb, i, RGB_GREEN, j); |
317 | 316 | j = (ptl[i].red_min + ptl[i].red_max) / 2 * 8; |
@@ -7,6 +7,7 @@ | ||
7 | 7 | gnugpl.c gnugpl.h \ |
8 | 8 | license.c license.h \ |
9 | 9 | misc.c misc.h \ |
10 | + peimage.c peimage.h \ | |
10 | 11 | pixbuf.c pixbuf.h \ |
11 | 12 | profile.c profile.h |
12 | 13 |
@@ -1,10 +1,10 @@ | ||
1 | 1 | /* |
2 | 2 | w32loader |
3 | - copyright (c) 1998-2007 Kazuki IWAMOTO http://www.maid.org/ iwm@maid.org | |
3 | + copyright (c) 1998-2010 Kazuki Iwamoto http://www.maid.org/ iwm@maid.org | |
4 | 4 | |
5 | - This program is free software; you can redistribute it and/or modify | |
5 | + This program is free software: you can redistribute it and/or modify | |
6 | 6 | it under the terms of the GNU General Public License as published by |
7 | - the Free Software Foundation; either version 2 of the License, or | |
7 | + the Free Software Foundation, either version 3 of the License, or | |
8 | 8 | (at your option) any later version. |
9 | 9 | |
10 | 10 | This program is distributed in the hope that it will be useful, |
@@ -13,8 +13,7 @@ | ||
13 | 13 | GNU General Public License for more details. |
14 | 14 | |
15 | 15 | You should have received a copy of the GNU General Public License |
16 | - along with this program; if not, write to the Free Software | |
17 | - Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA | |
16 | + along with this program. If not, see <http://www.gnu.org/licenses/>. | |
18 | 17 | */ |
19 | 18 | #include "oleaut32.h" |
20 | 19 |
@@ -2548,365 +2547,365 @@ | ||
2548 | 2547 | } |
2549 | 2548 | |
2550 | 2549 | |
2551 | -W32LdrExport oleaut32_exports[] = { | |
2552 | -{FALSE, 286, "BSTR_UserFree", BSTR_UserFree}, | |
2553 | -{FALSE, 284, "BSTR_UserMarshal", BSTR_UserMarshal}, | |
2554 | -{FALSE, 283, "BSTR_UserSize", BSTR_UserSize}, | |
2555 | -{FALSE, 285, "BSTR_UserUnmarshal", BSTR_UserUnmarshal}, | |
2556 | -{FALSE, 414, "BstrFromVector", BstrFromVector}, | |
2557 | -{FALSE, 171, "ClearCustData", ClearCustData}, | |
2558 | -{FALSE, 31, "CreateDispTypeInfo", CreateDispTypeInfo}, | |
2559 | -{FALSE, 202, "CreateErrorInfo", CreateErrorInfo}, | |
2560 | -{FALSE, 32, "CreateStdDispatch", CreateStdDispatch}, | |
2561 | -{FALSE, 160, "CreateTypeLib", CreateTypeLib}, | |
2562 | -{FALSE, 180, "CreateTypeLib2", CreateTypeLib2}, | |
2563 | -{FALSE, 146, "DispCallFunc", DispCallFunc}, | |
2564 | -{FALSE, 29, "DispGetIDsOfNames", DispGetIDsOfNames}, | |
2565 | -{FALSE, 28, "DispGetParam", DispGetParam}, | |
2566 | -{FALSE, 30, "DispInvoke", DispInvoke}, | |
2567 | -{FALSE, 410, "DllCanUnloadNow", DllCanUnloadNow}, | |
2568 | -{FALSE, 1, "DllGetClassObject", DllGetClassObject}, | |
2569 | -{FALSE, 320, "DllRegisterServer", DllRegisterServer}, | |
2570 | -{FALSE, 321, "DllUnregisterServer", DllUnregisterServer}, | |
2571 | -{FALSE, 14, "DosDateTimeToVariantTime", DosDateTimeToVariantTime}, | |
2572 | -{FALSE, 35, "GetActiveObject", GetActiveObject}, | |
2573 | -{FALSE, 332, "GetAltMonthNames", GetAltMonthNames}, | |
2574 | -{FALSE, 200, "GetErrorInfo", GetErrorInfo}, | |
2575 | -{FALSE, 322, "GetRecordInfoFromGuids", GetRecordInfoFromGuids}, | |
2576 | -{FALSE, 323, "GetRecordInfoFromTypeInfo", GetRecordInfoFromTypeInfo}, | |
2577 | -{FALSE, 326, "GetVarConversionLocaleSetting", GetVarConversionLocaleSetting}, | |
2578 | -{FALSE, 165, "LHashValOfNameSys", LHashValOfNameSysA}, | |
2579 | -{FALSE, 166, "LHashValOfNameSysA", LHashValOfNameSysA}, | |
2580 | -{FALSE, 296, "LPSAFEARRAY_Marshal", LPSAFEARRAY_Marshal}, | |
2581 | -{FALSE, 295, "LPSAFEARRAY_Size", LPSAFEARRAY_Size}, | |
2582 | -{FALSE, 297, "LPSAFEARRAY_Unmarshal", LPSAFEARRAY_Unmarshal}, | |
2583 | -{FALSE, 294, "LPSAFEARRAY_UserFree", LPSAFEARRAY_UserFree}, | |
2584 | -{FALSE, 292, "LPSAFEARRAY_UserMarshal", LPSAFEARRAY_UserMarshal}, | |
2585 | -{FALSE, 291, "LPSAFEARRAY_UserSize", LPSAFEARRAY_UserSize}, | |
2586 | -{FALSE, 293, "LPSAFEARRAY_UserUnmarshal", LPSAFEARRAY_UserUnmarshal}, | |
2587 | -{FALSE, 162, "LoadRegTypeLib", LoadRegTypeLib}, | |
2588 | -{TRUE, 161, "LoadTypeLib", LoadTypeLib}, | |
2589 | -{TRUE, 183, "LoadTypeLibEx", LoadTypeLibEx}, | |
2590 | -{FALSE, 144, "OACreateTypeLib2", OACreateTypeLib2}, | |
2591 | -{FALSE, 170, "OaBuildVersion", OaBuildVersion}, | |
2592 | -{FALSE, 420, "OleCreateFontIndirect", OleCreateFontIndirect}, | |
2593 | -{FALSE, 419, "OleCreatePictureIndirect", OleCreatePictureIndirect}, | |
2594 | -{FALSE, 417, "OleCreatePropertyFrame", OleCreatePropertyFrame}, | |
2595 | -{FALSE, 416, "OleCreatePropertyFrameIndirect", OleCreatePropertyFrameIndirect}, | |
2596 | -{FALSE, 415, "OleIconToCursor", OleIconToCursor}, | |
2597 | -{FALSE, 418, "OleLoadPicture", OleLoadPicture}, | |
2598 | -{FALSE, 401, "OleLoadPictureEx", OleLoadPictureEx}, | |
2599 | -{FALSE, 422, "OleLoadPictureFile", OleLoadPictureFile}, | |
2600 | -{FALSE, 402, "OleLoadPictureFileEx", OleLoadPictureFileEx}, | |
2601 | -{FALSE, 424, "OleLoadPicturePath", OleLoadPicturePath}, | |
2602 | -{FALSE, 423, "OleSavePictureFile", OleSavePictureFile}, | |
2603 | -{FALSE, 421, "OleTranslateColor", OleTranslateColor}, | |
2604 | -{FALSE, 164, "QueryPathOfRegTypeLib", QueryPathOfRegTypeLib}, | |
2605 | -{FALSE, 33, "RegisterActiveObject", RegisterActiveObject}, | |
2606 | -{TRUE, 163, "RegisterTypeLib", RegisterTypeLib}, | |
2607 | -{FALSE, 34, "RevokeActiveObject", RevokeActiveObject}, | |
2608 | -{FALSE, 23, "SafeArrayAccessData", SafeArrayAccessData}, | |
2609 | -{FALSE, 37, "SafeArrayAllocData", SafeArrayAllocData}, | |
2610 | -{FALSE, 36, "SafeArrayAllocDescriptor", SafeArrayAllocDescriptor}, | |
2611 | -{FALSE, 41, "SafeArrayAllocDescriptorEx", SafeArrayAllocDescriptorEx}, | |
2612 | -{FALSE, 27, "SafeArrayCopy", SafeArrayCopy}, | |
2613 | -{FALSE, 412, "SafeArrayCopyData", SafeArrayCopyData}, | |
2614 | -{FALSE, 15, "SafeArrayCreate", SafeArrayCreate}, | |
2615 | -{FALSE, 42, "SafeArrayCreateEx", SafeArrayCreateEx}, | |
2616 | -{FALSE, 411, "SafeArrayCreateVector", SafeArrayCreateVector}, | |
2617 | -{FALSE, 43, "SafeArrayCreateVectorEx", SafeArrayCreateVectorEx}, | |
2618 | -{FALSE, 16, "SafeArrayDestroy", SafeArrayDestroy}, | |
2619 | -{FALSE, 39, "SafeArrayDestroyData", SafeArrayDestroyData}, | |
2620 | -{FALSE, 38, "SafeArrayDestroyDescriptor", SafeArrayDestroyDescriptor}, | |
2621 | -{FALSE, 17, "SafeArrayGetDim", SafeArrayGetDim}, | |
2622 | -{FALSE, 25, "SafeArrayGetElement", SafeArrayGetElement}, | |
2623 | -{FALSE, 18, "SafeArrayGetElemsize", SafeArrayGetElemsize}, | |
2624 | -{FALSE, 67, "SafeArrayGetIID", SafeArrayGetIID}, | |
2625 | -{FALSE, 20, "SafeArrayGetLBound", SafeArrayGetLBound}, | |
2626 | -{FALSE, 45, "SafeArrayGetRecordInfo", SafeArrayGetRecordInfo}, | |
2627 | -{FALSE, 19, "SafeArrayGetUBound", SafeArrayGetUBound}, | |
2628 | -{FALSE, 77, "SafeArrayGetVartype", SafeArrayGetVartype}, | |
2629 | -{FALSE, 21, "SafeArrayLock", SafeArrayLock}, | |
2630 | -{FALSE, 148, "SafeArrayPtrOfIndex", SafeArrayPtrOfIndex}, | |
2631 | -{FALSE, 26, "SafeArrayPutElement", SafeArrayPutElement}, | |
2632 | -{FALSE, 40, "SafeArrayRedim", SafeArrayRedim}, | |
2633 | -{FALSE, 57, "SafeArraySetIID", SafeArraySetIID}, | |
2634 | -{FALSE, 44, "SafeArraySetRecordInfo", SafeArraySetRecordInfo}, | |
2635 | -{FALSE, 24, "SafeArrayUnaccessData", SafeArrayUnaccessData}, | |
2636 | -{FALSE, 22, "SafeArrayUnlock", SafeArrayUnlock}, | |
2637 | -{FALSE, 201, "SetErrorInfo", SetErrorInfo}, | |
2638 | -{FALSE, 325, "SetVarConversionLocaleSetting", SetVarConversionLocaleSetting}, | |
2639 | -{FALSE, 2, "SysAllocString", SysAllocString}, | |
2640 | -{FALSE, 150, "SysAllocStringByteLen", SysAllocStringByteLen}, | |
2641 | -{FALSE, 4, "SysAllocStringLen", SysAllocStringLen}, | |
2642 | -{FALSE, 6, "SysFreeString", SysFreeString}, | |
2643 | -{FALSE, 3, "SysReAllocString", SysReAllocString}, | |
2644 | -{FALSE, 5, "SysReAllocStringLen", SysReAllocStringLen}, | |
2645 | -{FALSE, 149, "SysStringByteLen", SysStringByteLen}, | |
2646 | -{FALSE, 7, "SysStringLen", SysStringLen}, | |
2647 | -{FALSE, 184, "SystemTimeToVariantTime", SystemTimeToVariantTime}, | |
2648 | -{FALSE, 186, "UnRegisterTypeLib", UnRegisterTypeLib}, | |
2649 | -{FALSE, 386, "UserBSTR_free_inst", UserBSTR_free_inst}, | |
2650 | -{FALSE, 387, "UserBSTR_free_local", UserBSTR_free_local}, | |
2651 | -{FALSE, 384, "UserBSTR_from_local", UserBSTR_from_local}, | |
2652 | -{FALSE, 385, "UserBSTR_to_local", UserBSTR_to_local}, | |
2653 | -{FALSE, 394, "UserEXCEPINFO_free_inst", UserEXCEPINFO_free_inst}, | |
2654 | -{FALSE, 395, "UserEXCEPINFO_free_local", UserEXCEPINFO_free_local}, | |
2655 | -{FALSE, 392, "UserEXCEPINFO_from_local", UserEXCEPINFO_from_local}, | |
2656 | -{FALSE, 393, "UserEXCEPINFO_to_local", UserEXCEPINFO_to_local}, | |
2657 | -{FALSE, 382, "UserHWND_free_inst", UserHWND_free_inst}, | |
2658 | -{FALSE, 383, "UserHWND_free_local", UserHWND_free_local}, | |
2659 | -{FALSE, 380, "UserHWND_from_local", UserHWND_from_local}, | |
2660 | -{FALSE, 381, "UserHWND_to_local", UserHWND_to_local}, | |
2661 | -{FALSE, 398, "UserMSG_free_inst", UserMSG_free_inst}, | |
2662 | -{FALSE, 399, "UserMSG_free_local", UserMSG_free_local}, | |
2663 | -{FALSE, 396, "UserMSG_from_local", UserMSG_from_local}, | |
2664 | -{FALSE, 397, "UserMSG_to_local", UserMSG_to_local}, | |
2665 | -{FALSE, 390, "UserVARIANT_free_inst", UserVARIANT_free_inst}, | |
2666 | -{FALSE, 391, "UserVARIANT_free_local", UserVARIANT_free_local}, | |
2667 | -{FALSE, 388, "UserVARIANT_from_local", UserVARIANT_from_local}, | |
2668 | -{FALSE, 389, "UserVARIANT_to_local", UserVARIANT_to_local}, | |
2669 | -{FALSE, 290, "VARIANT_UserFree", VARIANT_UserFree}, | |
2670 | -{FALSE, 288, "VARIANT_UserMarshal", VARIANT_UserMarshal}, | |
2671 | -{FALSE, 287, "VARIANT_UserSize", VARIANT_UserSize}, | |
2672 | -{FALSE, 289, "VARIANT_UserUnmarshal", VARIANT_UserUnmarshal}, | |
2673 | -{FALSE, 168, "VarAbs", VarAbs}, | |
2674 | -{FALSE, 141, "VarAdd", VarAdd}, | |
2675 | -{FALSE, 142, "VarAnd", VarAnd}, | |
2676 | -{FALSE, 124, "VarBoolFromCy", VarBoolFromCy}, | |
2677 | -{FALSE, 123, "VarBoolFromDate", VarBoolFromDate}, | |
2678 | -{FALSE, 236, "VarBoolFromDec", VarBoolFromDec}, | |
2679 | -{FALSE, 126, "VarBoolFromDisp", VarBoolFromDisp}, | |
2680 | -{FALSE, 233, "VarBoolFromI1", VarBoolFromI1}, | |
2681 | -{FALSE, 119, "VarBoolFromI2", VarBoolFromI2}, | |
2682 | -{FALSE, 120, "VarBoolFromI4", VarBoolFromI4}, | |
2683 | -{FALSE, 121, "VarBoolFromR4", VarBoolFromR4}, | |
2684 | -{FALSE, 122, "VarBoolFromR8", VarBoolFromR8}, | |
2685 | -{FALSE, 125, "VarBoolFromStr", VarBoolFromStr}, | |
2686 | -{FALSE, 118, "VarBoolFromUI1", VarBoolFromUI1}, | |
2687 | -{FALSE, 234, "VarBoolFromUI2", VarBoolFromUI2}, | |
2688 | -{FALSE, 235, "VarBoolFromUI4", VarBoolFromUI4}, | |
2689 | -{FALSE, 313, "VarBstrCat", VarBstrCat}, | |
2690 | -{FALSE, 314, "VarBstrCmp", VarBstrCmp}, | |
2691 | -{FALSE, 116, "VarBstrFromBool", VarBstrFromBool}, | |
2692 | -{FALSE, 113, "VarBstrFromCy", VarBstrFromCy}, | |
2693 | -{FALSE, 114, "VarBstrFromDate", VarBstrFromDate}, | |
2694 | -{FALSE, 232, "VarBstrFromDec", VarBstrFromDec}, | |
2695 | -{FALSE, 115, "VarBstrFromDisp", VarBstrFromDisp}, | |
2696 | -{FALSE, 229, "VarBstrFromI1", VarBstrFromI1}, | |
2697 | -{FALSE, 109, "VarBstrFromI2", VarBstrFromI2}, | |
2698 | -{FALSE, 110, "VarBstrFromI4", VarBstrFromI4}, | |
2699 | -{FALSE, 111, "VarBstrFromR4", VarBstrFromR4}, | |
2700 | -{FALSE, 112, "VarBstrFromR8", VarBstrFromR8}, | |
2701 | -{FALSE, 108, "VarBstrFromUI1", VarBstrFromUI1}, | |
2702 | -{FALSE, 230, "VarBstrFromUI2", VarBstrFromUI2}, | |
2703 | -{FALSE, 231, "VarBstrFromUI4", VarBstrFromUI4}, | |
2704 | -{FALSE, 318, "VarCat", VarCat}, | |
2705 | -{FALSE, 176, "VarCmp", VarCmp}, | |
2706 | -{FALSE, 306, "VarCyAbs", VarCyAbs}, | |
2707 | -{FALSE, 299, "VarCyAdd", VarCyAdd}, | |
2708 | -{FALSE, 311, "VarCyCmp", VarCyCmp}, | |
2709 | -{FALSE, 312, "VarCyCmpR8", VarCyCmpR8}, | |
2710 | -{FALSE, 307, "VarCyFix", VarCyFix}, | |
2711 | -{FALSE, 106, "VarCyFromBool", VarCyFromBool}, | |
2712 | -{FALSE, 103, "VarCyFromDate", VarCyFromDate}, | |
2713 | -{FALSE, 228, "VarCyFromDec", VarCyFromDec}, | |
2714 | -{FALSE, 105, "VarCyFromDisp", VarCyFromDisp}, | |
2715 | -{FALSE, 225, "VarCyFromI1", VarCyFromI1}, | |
2716 | -{FALSE, 99, "VarCyFromI2", VarCyFromI2}, | |
2717 | -{FALSE, 100, "VarCyFromI4", VarCyFromI4}, | |
2718 | -{FALSE, 101, "VarCyFromR4", VarCyFromR4}, | |
2719 | -{FALSE, 102, "VarCyFromR8", VarCyFromR8}, | |
2720 | -{FALSE, 104, "VarCyFromStr", VarCyFromStr}, | |
2721 | -{FALSE, 98, "VarCyFromUI1", VarCyFromUI1}, | |
2722 | -{FALSE, 226, "VarCyFromUI2", VarCyFromUI2}, | |
2723 | -{FALSE, 227, "VarCyFromUI4", VarCyFromUI4}, | |
2724 | -{FALSE, 308, "VarCyInt", VarCyInt}, | |
2725 | -{FALSE, 303, "VarCyMul", VarCyMul}, | |
2726 | -{FALSE, 304, "VarCyMulI4", VarCyMulI4}, | |
2727 | -{FALSE, 309, "VarCyNeg", VarCyNeg}, | |
2728 | -{FALSE, 310, "VarCyRound", VarCyRound}, | |
2729 | -{FALSE, 305, "VarCySub", VarCySub}, | |
2730 | -{FALSE, 96, "VarDateFromBool", VarDateFromBool}, | |
2731 | -{FALSE, 93, "VarDateFromCy", VarDateFromCy}, | |
2732 | -{FALSE, 224, "VarDateFromDec", VarDateFromDec}, | |
2733 | -{FALSE, 95, "VarDateFromDisp", VarDateFromDisp}, | |
2734 | -{FALSE, 221, "VarDateFromI1", VarDateFromI1}, | |
2735 | -{FALSE, 89, "VarDateFromI2", VarDateFromI2}, | |
2736 | -{FALSE, 90, "VarDateFromI4", VarDateFromI4}, | |
2737 | -{FALSE, 91, "VarDateFromR4", VarDateFromR4}, | |
2738 | -{FALSE, 92, "VarDateFromR8", VarDateFromR8}, | |
2739 | -{FALSE, 94, "VarDateFromStr", VarDateFromStr}, | |
2740 | -{FALSE, 88, "VarDateFromUI1", VarDateFromUI1}, | |
2741 | -{FALSE, 222, "VarDateFromUI2", VarDateFromUI2}, | |
2742 | -{FALSE, 223, "VarDateFromUI4", VarDateFromUI4}, | |
2743 | -{FALSE, 330, "VarDateFromUdate", VarDateFromUdate}, | |
2744 | -{FALSE, 319, "VarDateFromUdateEx", VarDateFromUdateEx}, | |
2745 | -{FALSE, 182, "VarDecAbs", VarDecAbs}, | |
2746 | -{FALSE, 177, "VarDecAdd", VarDecAdd}, | |
2747 | -{FALSE, 204, "VarDecCmp", VarDecCmp}, | |
2748 | -{FALSE, 298, "VarDecCmpR8", VarDecCmpR8}, | |
2749 | -{FALSE, 178, "VarDecDiv", VarDecDiv}, | |
2750 | -{FALSE, 187, "VarDecFix", VarDecFix}, | |
2751 | -{FALSE, 199, "VarDecFromBool", VarDecFromBool}, | |
2752 | -{FALSE, 196, "VarDecFromCy", VarDecFromCy}, | |
2753 | -{FALSE, 195, "VarDecFromDate", VarDecFromDate}, | |
2754 | -{FALSE, 198, "VarDecFromDisp", VarDecFromDisp}, | |
2755 | -{FALSE, 241, "VarDecFromI1", VarDecFromI1}, | |
2756 | -{FALSE, 191, "VarDecFromI2", VarDecFromI2}, | |
2757 | -{FALSE, 192, "VarDecFromI4", VarDecFromI4}, | |
2758 | -{FALSE, 193, "VarDecFromR4", VarDecFromR4}, | |
2759 | -{FALSE, 194, "VarDecFromR8", VarDecFromR8}, | |
2760 | -{FALSE, 197, "VarDecFromStr", VarDecFromStr}, | |
2761 | -{FALSE, 190, "VarDecFromUI1", VarDecFromUI1}, | |
2762 | -{FALSE, 242, "VarDecFromUI2", VarDecFromUI2}, | |
2763 | -{FALSE, 243, "VarDecFromUI4", VarDecFromUI4}, | |
2764 | -{FALSE, 188, "VarDecInt", VarDecInt}, | |
2765 | -{FALSE, 179, "VarDecMul", VarDecMul}, | |
2766 | -{FALSE, 189, "VarDecNeg", VarDecNeg}, | |
2767 | -{FALSE, 203, "VarDecRound", VarDecRound}, | |
2768 | -{FALSE, 181, "VarDecSub", VarDecSub}, | |
2769 | -{FALSE, 143, "VarDiv", VarDiv}, | |
2770 | -{FALSE, 152, "VarEqv", VarEqv}, | |
2771 | -{FALSE, 169, "VarFix", VarFix}, | |
2772 | -{FALSE, 87, "VarFormat", VarFormat}, | |
2773 | -{FALSE, 127, "VarFormatCurrency", VarFormatCurrency}, | |
2774 | -{FALSE, 97, "VarFormatDateTime", VarFormatDateTime}, | |
2775 | -{FALSE, 139, "VarFormatFromTokens", VarFormatFromTokens}, | |
2776 | -{FALSE, 107, "VarFormatNumber", VarFormatNumber}, | |
2777 | -{FALSE, 117, "VarFormatPercent", VarFormatPercent}, | |
2778 | -{FALSE, 253, "VarI1FromBool", VarI1FromBool}, | |
2779 | -{FALSE, 250, "VarI1FromCy", VarI1FromCy}, | |
2780 | -{FALSE, 249, "VarI1FromDate", VarI1FromDate}, | |
2781 | -{FALSE, 256, "VarI1FromDec", VarI1FromDec}, | |
2782 | -{FALSE, 252, "VarI1FromDisp", VarI1FromDisp}, | |
2783 | -{FALSE, 245, "VarI1FromI2", VarI1FromI2}, | |
2784 | -{FALSE, 246, "VarI1FromI4", VarI1FromI4}, | |
2785 | -{FALSE, 247, "VarI1FromR4", VarI1FromR4}, | |
2786 | -{FALSE, 248, "VarI1FromR8", VarI1FromR8}, | |
2787 | -{FALSE, 251, "VarI1FromStr", VarI1FromStr}, | |
2788 | -{FALSE, 244, "VarI1FromUI1", VarI1FromUI1}, | |
2789 | -{FALSE, 254, "VarI1FromUI2", VarI1FromUI2}, | |
2790 | -{FALSE, 255, "VarI1FromUI4", VarI1FromUI4}, | |
2791 | -{FALSE, 56, "VarI2FromBool", VarI2FromBool}, | |
2792 | -{FALSE, 52, "VarI2FromCy", VarI2FromCy}, | |
2793 | -{FALSE, 53, "VarI2FromDate", VarI2FromDate}, | |
2794 | -{FALSE, 208, "VarI2FromDec", VarI2FromDec}, | |
2795 | -{FALSE, 55, "VarI2FromDisp", VarI2FromDisp}, | |
2796 | -{FALSE, 205, "VarI2FromI1", VarI2FromI1}, | |
2797 | -{FALSE, 49, "VarI2FromI4", VarI2FromI4}, | |
2798 | -{FALSE, 50, "VarI2FromR4", VarI2FromR4}, | |
2799 | -{FALSE, 51, "VarI2FromR8", VarI2FromR8}, | |
2800 | -{FALSE, 54, "VarI2FromStr", VarI2FromStr}, | |
2801 | -{FALSE, 48, "VarI2FromUI1", VarI2FromUI1}, | |
2802 | -{FALSE, 206, "VarI2FromUI2", VarI2FromUI2}, | |
2803 | -{FALSE, 207, "VarI2FromUI4", VarI2FromUI4}, | |
2804 | -{FALSE, 66, "VarI4FromBool", VarI4FromBool}, | |
2805 | -{FALSE, 62, "VarI4FromCy", VarI4FromCy}, | |
2806 | -{FALSE, 63, "VarI4FromDate", VarI4FromDate}, | |
2807 | -{FALSE, 212, "VarI4FromDec", VarI4FromDec}, | |
2808 | -{FALSE, 65, "VarI4FromDisp", VarI4FromDisp}, | |
2809 | -{FALSE, 209, "VarI4FromI1", VarI4FromI1}, | |
2810 | -{FALSE, 59, "VarI4FromI2", VarI4FromI2}, | |
2811 | -{FALSE, 60, "VarI4FromR4", VarI4FromR4}, | |
2812 | -{FALSE, 61, "VarI4FromR8", VarI4FromR8}, | |
2813 | -{FALSE, 64, "VarI4FromStr", VarI4FromStr}, | |
2814 | -{FALSE, 58, "VarI4FromUI1", VarI4FromUI1}, | |
2815 | -{FALSE, 210, "VarI4FromUI2", VarI4FromUI2}, | |
2816 | -{FALSE, 211, "VarI4FromUI4", VarI4FromUI4}, | |
2817 | -{FALSE, 153, "VarIdiv", VarIdiv}, | |
2818 | -{FALSE, 154, "VarImp", VarImp}, | |
2819 | -{FALSE, 172, "VarInt", VarInt}, | |
2820 | -{FALSE, 155, "VarMod", VarMod}, | |
2821 | -{FALSE, 129, "VarMonthName", VarMonthName}, | |
2822 | -{FALSE, 156, "VarMul", VarMul}, | |
2823 | -{FALSE, 173, "VarNeg", VarNeg}, | |
2824 | -{FALSE, 174, "VarNot", VarNot}, | |
2825 | -{FALSE, 47, "VarNumFromParseNum", VarNumFromParseNum}, | |
2826 | -{FALSE, 157, "VarOr", VarOr}, | |
2827 | -{FALSE, 46, "VarParseNumFromStr", VarParseNumFromStr}, | |
2828 | -{FALSE, 158, "VarPow", VarPow}, | |
2829 | -{FALSE, 316, "VarR4CmpR8", VarR4CmpR8}, | |
2830 | -{FALSE, 76, "VarR4FromBool", VarR4FromBool}, | |
2831 | -{FALSE, 72, "VarR4FromCy", VarR4FromCy}, | |
2832 | -{FALSE, 73, "VarR4FromDate", VarR4FromDate}, | |
2833 | -{FALSE, 216, "VarR4FromDec", VarR4FromDec}, | |
2834 | -{FALSE, 75, "VarR4FromDisp", VarR4FromDisp}, | |
2835 | -{FALSE, 213, "VarR4FromI1", VarR4FromI1}, | |
2836 | -{FALSE, 69, "VarR4FromI2", VarR4FromI2}, | |
2837 | -{FALSE, 70, "VarR4FromI4", VarR4FromI4}, | |
2838 | -{FALSE, 71, "VarR4FromR8", VarR4FromR8}, | |
2839 | -{FALSE, 74, "VarR4FromStr", VarR4FromStr}, | |
2840 | -{FALSE, 68, "VarR4FromUI1", VarR4FromUI1}, | |
2841 | -{FALSE, 214, "VarR4FromUI2", VarR4FromUI2}, | |
2842 | -{FALSE, 215, "VarR4FromUI4", VarR4FromUI4}, | |
2843 | -{FALSE, 86, "VarR8FromBool", VarR8FromBool}, | |
2844 | -{FALSE, 82, "VarR8FromCy", VarR8FromCy}, | |
2845 | -{FALSE, 83, "VarR8FromDate", VarR8FromDate}, | |
2846 | -{FALSE, 220, "VarR8FromDec", VarR8FromDec}, | |
2847 | -{FALSE, 85, "VarR8FromDisp", VarR8FromDisp}, | |
2848 | -{FALSE, 217, "VarR8FromI1", VarR8FromI1}, | |
2849 | -{FALSE, 79, "VarR8FromI2", VarR8FromI2}, | |
2850 | -{FALSE, 80, "VarR8FromI4", VarR8FromI4}, | |
2851 | -{FALSE, 81, "VarR8FromR4", VarR8FromR4}, | |
2852 | -{FALSE, 84, "VarR8FromStr", VarR8FromStr}, | |
2853 | -{FALSE, 78, "VarR8FromUI1", VarR8FromUI1}, | |
2854 | -{FALSE, 218, "VarR8FromUI2", VarR8FromUI2}, | |
2855 | -{FALSE, 219, "VarR8FromUI4", VarR8FromUI4}, | |
2856 | -{FALSE, 315, "VarR8Pow", VarR8Pow}, | |
2857 | -{FALSE, 317, "VarR8Round", VarR8Round}, | |
2858 | -{FALSE, 175, "VarRound", VarRound}, | |
2859 | -{FALSE, 159, "VarSub", VarSub}, | |
2860 | -{FALSE, 140, "VarTokenizeFormatString", VarTokenizeFormatString}, | |
2861 | -{FALSE, 138, "VarUI1FromBool", VarUI1FromBool}, | |
2862 | -{FALSE, 134, "VarUI1FromCy", VarUI1FromCy}, | |
2863 | -{FALSE, 135, "VarUI1FromDate", VarUI1FromDate}, | |
2864 | -{FALSE, 240, "VarUI1FromDec", VarUI1FromDec}, | |
2865 | -{FALSE, 137, "VarUI1FromDisp", VarUI1FromDisp}, | |
2866 | -{FALSE, 237, "VarUI1FromI1", VarUI1FromI1}, | |
2867 | -{FALSE, 130, "VarUI1FromI2", VarUI1FromI2}, | |
2868 | -{FALSE, 131, "VarUI1FromI4", VarUI1FromI4}, | |
2869 | -{FALSE, 132, "VarUI1FromR4", VarUI1FromR4}, | |
2870 | -{FALSE, 133, "VarUI1FromR8", VarUI1FromR8}, | |
2871 | -{FALSE, 136, "VarUI1FromStr", VarUI1FromStr}, | |
2872 | -{FALSE, 238, "VarUI1FromUI2", VarUI1FromUI2}, | |
2873 | -{FALSE, 239, "VarUI1FromUI4", VarUI1FromUI4}, | |
2874 | -{FALSE, 266, "VarUI2FromBool", VarUI2FromBool}, | |
2875 | -{FALSE, 263, "VarUI2FromCy", VarUI2FromCy}, | |
2876 | -{FALSE, 262, "VarUI2FromDate", VarUI2FromDate}, | |
2877 | -{FALSE, 269, "VarUI2FromDec", VarUI2FromDec}, | |
2878 | -{FALSE, 265, "VarUI2FromDisp", VarUI2FromDisp}, | |
2879 | -{FALSE, 267, "VarUI2FromI1", VarUI2FromI1}, | |
2880 | -{FALSE, 258, "VarUI2FromI2", VarUI2FromI2}, | |
2881 | -{FALSE, 259, "VarUI2FromI4", VarUI2FromI4}, | |
2882 | -{FALSE, 260, "VarUI2FromR4", VarUI2FromR4}, | |
2883 | -{FALSE, 261, "VarUI2FromR8", VarUI2FromR8}, | |
2884 | -{FALSE, 264, "VarUI2FromStr", VarUI2FromStr}, | |
2885 | -{FALSE, 257, "VarUI2FromUI1", VarUI2FromUI1}, | |
2886 | -{FALSE, 268, "VarUI2FromUI4", VarUI2FromUI4}, | |
2887 | -{FALSE, 279, "VarUI4FromBool", VarUI4FromBool}, | |
2888 | -{FALSE, 276, "VarUI4FromCy", VarUI4FromCy}, | |
2889 | -{FALSE, 275, "VarUI4FromDate", VarUI4FromDate}, | |
2890 | -{FALSE, 282, "VarUI4FromDec", VarUI4FromDec}, | |
2891 | -{FALSE, 278, "VarUI4FromDisp", VarUI4FromDisp}, | |
2892 | -{FALSE, 280, "VarUI4FromI1", VarUI4FromI1}, | |
2893 | -{FALSE, 271, "VarUI4FromI2", VarUI4FromI2}, | |
2894 | -{FALSE, 272, "VarUI4FromI4", VarUI4FromI4}, | |
2895 | -{FALSE, 273, "VarUI4FromR4", VarUI4FromR4}, | |
2896 | -{FALSE, 274, "VarUI4FromR8", VarUI4FromR8}, | |
2897 | -{FALSE, 277, "VarUI4FromStr", VarUI4FromStr}, | |
2898 | -{FALSE, 270, "VarUI4FromUI1", VarUI4FromUI1}, | |
2899 | -{FALSE, 281, "VarUI4FromUI2", VarUI4FromUI2}, | |
2900 | -{FALSE, 331, "VarUdateFromDate", VarUdateFromDate}, | |
2901 | -{FALSE, 128, "VarWeekdayName", VarWeekdayName}, | |
2902 | -{FALSE, 167, "VarXor", VarXor}, | |
2903 | -{FALSE, 12, "VariantChangeType", VariantChangeType}, | |
2904 | -{FALSE, 147, "VariantChangeTypeEx", VariantChangeTypeEx}, | |
2905 | -{FALSE, 9, "VariantClear", VariantClear}, | |
2906 | -{FALSE, 10, "VariantCopy", VariantCopy}, | |
2907 | -{FALSE, 11, "VariantCopyInd", VariantCopyInd}, | |
2908 | -{FALSE, 8, "VariantInit", VariantInit}, | |
2909 | -{FALSE, 13, "VariantTimeToDosDateTime", VariantTimeToDosDateTime}, | |
2910 | -{FALSE, 185, "VariantTimeToSystemTime", VariantTimeToSystemTime}, | |
2911 | -{FALSE, 413, "VectorFromBstr", VectorFromBstr}, | |
2912 | -{FALSE, 0, NULL, NULL}}; | |
2550 | +W32LdrExport w32ldr_oleaut32_exports[] = { | |
2551 | +{-1, 286, "BSTR_UserFree", BSTR_UserFree}, | |
2552 | +{-1, 284, "BSTR_UserMarshal", BSTR_UserMarshal}, | |
2553 | +{-1, 283, "BSTR_UserSize", BSTR_UserSize}, | |
2554 | +{-1, 285, "BSTR_UserUnmarshal", BSTR_UserUnmarshal}, | |
2555 | +{-1, 414, "BstrFromVector", BstrFromVector}, | |
2556 | +{-1, 171, "ClearCustData", ClearCustData}, | |
2557 | +{-1, 31, "CreateDispTypeInfo", CreateDispTypeInfo}, | |
2558 | +{-1, 202, "CreateErrorInfo", CreateErrorInfo}, | |
2559 | +{-1, 32, "CreateStdDispatch", CreateStdDispatch}, | |
2560 | +{-1, 160, "CreateTypeLib", CreateTypeLib}, | |
2561 | +{-1, 180, "CreateTypeLib2", CreateTypeLib2}, | |
2562 | +{-1, 146, "DispCallFunc", DispCallFunc}, | |
2563 | +{-1, 29, "DispGetIDsOfNames", DispGetIDsOfNames}, | |
2564 | +{-1, 28, "DispGetParam", DispGetParam}, | |
2565 | +{-1, 30, "DispInvoke", DispInvoke}, | |
2566 | +{-1, 410, "DllCanUnloadNow", DllCanUnloadNow}, | |
2567 | +{-1, 1, "DllGetClassObject", DllGetClassObject}, | |
2568 | +{-1, 320, "DllRegisterServer", DllRegisterServer}, | |
2569 | +{-1, 321, "DllUnregisterServer", DllUnregisterServer}, | |
2570 | +{-1, 14, "DosDateTimeToVariantTime", DosDateTimeToVariantTime}, | |
2571 | +{-1, 35, "GetActiveObject", GetActiveObject}, | |
2572 | +{-1, 332, "GetAltMonthNames", GetAltMonthNames}, | |
2573 | +{-1, 200, "GetErrorInfo", GetErrorInfo}, | |
2574 | +{-1, 322, "GetRecordInfoFromGuids", GetRecordInfoFromGuids}, | |
2575 | +{-1, 323, "GetRecordInfoFromTypeInfo", GetRecordInfoFromTypeInfo}, | |
2576 | +{-1, 326, "GetVarConversionLocaleSetting", GetVarConversionLocaleSetting}, | |
2577 | +{-1, 165, "LHashValOfNameSys", LHashValOfNameSysA}, | |
2578 | +{-1, 166, "LHashValOfNameSysA", LHashValOfNameSysA}, | |
2579 | +{-1, 296, "LPSAFEARRAY_Marshal", LPSAFEARRAY_Marshal}, | |
2580 | +{-1, 295, "LPSAFEARRAY_Size", LPSAFEARRAY_Size}, | |
2581 | +{-1, 297, "LPSAFEARRAY_Unmarshal", LPSAFEARRAY_Unmarshal}, | |
2582 | +{-1, 294, "LPSAFEARRAY_UserFree", LPSAFEARRAY_UserFree}, | |
2583 | +{-1, 292, "LPSAFEARRAY_UserMarshal", LPSAFEARRAY_UserMarshal}, | |
2584 | +{-1, 291, "LPSAFEARRAY_UserSize", LPSAFEARRAY_UserSize}, | |
2585 | +{-1, 293, "LPSAFEARRAY_UserUnmarshal", LPSAFEARRAY_UserUnmarshal}, | |
2586 | +{-1, 162, "LoadRegTypeLib", LoadRegTypeLib}, | |
2587 | +{ 0, 161, "LoadTypeLib", LoadTypeLib}, | |
2588 | +{ 0, 183, "LoadTypeLibEx", LoadTypeLibEx}, | |
2589 | +{-1, 144, "OACreateTypeLib2", OACreateTypeLib2}, | |
2590 | +{-1, 170, "OaBuildVersion", OaBuildVersion}, | |
2591 | +{-1, 420, "OleCreateFontIndirect", OleCreateFontIndirect}, | |
2592 | +{-1, 419, "OleCreatePictureIndirect", OleCreatePictureIndirect}, | |
2593 | +{-1, 417, "OleCreatePropertyFrame", OleCreatePropertyFrame}, | |
2594 | +{-1, 416, "OleCreatePropertyFrameIndirect", OleCreatePropertyFrameIndirect}, | |
2595 | +{-1, 415, "OleIconToCursor", OleIconToCursor}, | |
2596 | +{-1, 418, "OleLoadPicture", OleLoadPicture}, | |
2597 | +{-1, 401, "OleLoadPictureEx", OleLoadPictureEx}, | |
2598 | +{-1, 422, "OleLoadPictureFile", OleLoadPictureFile}, | |
2599 | +{-1, 402, "OleLoadPictureFileEx", OleLoadPictureFileEx}, | |
2600 | +{-1, 424, "OleLoadPicturePath", OleLoadPicturePath}, | |
2601 | +{-1, 423, "OleSavePictureFile", OleSavePictureFile}, | |
2602 | +{-1, 421, "OleTranslateColor", OleTranslateColor}, | |
2603 | +{-1, 164, "QueryPathOfRegTypeLib", QueryPathOfRegTypeLib}, | |
2604 | +{-1, 33, "RegisterActiveObject", RegisterActiveObject}, | |
2605 | +{ 0, 163, "RegisterTypeLib", RegisterTypeLib}, | |
2606 | +{-1, 34, "RevokeActiveObject", RevokeActiveObject}, | |
2607 | +{-1, 23, "SafeArrayAccessData", SafeArrayAccessData}, | |
2608 | +{-1, 37, "SafeArrayAllocData", SafeArrayAllocData}, | |
2609 | +{-1, 36, "SafeArrayAllocDescriptor", SafeArrayAllocDescriptor}, | |
2610 | +{-1, 41, "SafeArrayAllocDescriptorEx", SafeArrayAllocDescriptorEx}, | |
2611 | +{-1, 27, "SafeArrayCopy", SafeArrayCopy}, | |
2612 | +{-1, 412, "SafeArrayCopyData", SafeArrayCopyData}, | |
2613 | +{-1, 15, "SafeArrayCreate", SafeArrayCreate}, | |
2614 | +{-1, 42, "SafeArrayCreateEx", SafeArrayCreateEx}, | |
2615 | +{-1, 411, "SafeArrayCreateVector", SafeArrayCreateVector}, | |
2616 | +{-1, 43, "SafeArrayCreateVectorEx", SafeArrayCreateVectorEx}, | |
2617 | +{-1, 16, "SafeArrayDestroy", SafeArrayDestroy}, | |
2618 | +{-1, 39, "SafeArrayDestroyData", SafeArrayDestroyData}, | |
2619 | +{-1, 38, "SafeArrayDestroyDescriptor", SafeArrayDestroyDescriptor}, | |
2620 | +{-1, 17, "SafeArrayGetDim", SafeArrayGetDim}, | |
2621 | +{-1, 25, "SafeArrayGetElement", SafeArrayGetElement}, | |
2622 | +{-1, 18, "SafeArrayGetElemsize", SafeArrayGetElemsize}, | |
2623 | +{-1, 67, "SafeArrayGetIID", SafeArrayGetIID}, | |
2624 | +{-1, 20, "SafeArrayGetLBound", SafeArrayGetLBound}, | |
2625 | +{-1, 45, "SafeArrayGetRecordInfo", SafeArrayGetRecordInfo}, | |
2626 | +{-1, 19, "SafeArrayGetUBound", SafeArrayGetUBound}, | |
2627 | +{-1, 77, "SafeArrayGetVartype", SafeArrayGetVartype}, | |
2628 | +{-1, 21, "SafeArrayLock", SafeArrayLock}, | |
2629 | +{-1, 148, "SafeArrayPtrOfIndex", SafeArrayPtrOfIndex}, | |
2630 | +{-1, 26, "SafeArrayPutElement", SafeArrayPutElement}, | |
2631 | +{-1, 40, "SafeArrayRedim", SafeArrayRedim}, | |
2632 | +{-1, 57, "SafeArraySetIID", SafeArraySetIID}, | |
2633 | +{-1, 44, "SafeArraySetRecordInfo", SafeArraySetRecordInfo}, | |
2634 | +{-1, 24, "SafeArrayUnaccessData", SafeArrayUnaccessData}, | |
2635 | +{-1, 22, "SafeArrayUnlock", SafeArrayUnlock}, | |
2636 | +{-1, 201, "SetErrorInfo", SetErrorInfo}, | |
2637 | +{-1, 325, "SetVarConversionLocaleSetting", SetVarConversionLocaleSetting}, | |
2638 | +{-1, 2, "SysAllocString", SysAllocString}, | |
2639 | +{-1, 150, "SysAllocStringByteLen", SysAllocStringByteLen}, | |
2640 | +{-1, 4, "SysAllocStringLen", SysAllocStringLen}, | |
2641 | +{-1, 6, "SysFreeString", SysFreeString}, | |
2642 | +{-1, 3, "SysReAllocString", SysReAllocString}, | |
2643 | +{-1, 5, "SysReAllocStringLen", SysReAllocStringLen}, | |
2644 | +{-1, 149, "SysStringByteLen", SysStringByteLen}, | |
2645 | +{-1, 7, "SysStringLen", SysStringLen}, | |
2646 | +{-1, 184, "SystemTimeToVariantTime", SystemTimeToVariantTime}, | |
2647 | +{-1, 186, "UnRegisterTypeLib", UnRegisterTypeLib}, | |
2648 | +{-1, 386, "UserBSTR_free_inst", UserBSTR_free_inst}, | |
2649 | +{-1, 387, "UserBSTR_free_local", UserBSTR_free_local}, | |
2650 | +{-1, 384, "UserBSTR_from_local", UserBSTR_from_local}, | |
2651 | +{-1, 385, "UserBSTR_to_local", UserBSTR_to_local}, | |
2652 | +{-1, 394, "UserEXCEPINFO_free_inst", UserEXCEPINFO_free_inst}, | |
2653 | +{-1, 395, "UserEXCEPINFO_free_local", UserEXCEPINFO_free_local}, | |
2654 | +{-1, 392, "UserEXCEPINFO_from_local", UserEXCEPINFO_from_local}, | |
2655 | +{-1, 393, "UserEXCEPINFO_to_local", UserEXCEPINFO_to_local}, | |
2656 | +{-1, 382, "UserHWND_free_inst", UserHWND_free_inst}, | |
2657 | +{-1, 383, "UserHWND_free_local", UserHWND_free_local}, | |
2658 | +{-1, 380, "UserHWND_from_local", UserHWND_from_local}, | |
2659 | +{-1, 381, "UserHWND_to_local", UserHWND_to_local}, | |
2660 | +{-1, 398, "UserMSG_free_inst", UserMSG_free_inst}, | |
2661 | +{-1, 399, "UserMSG_free_local", UserMSG_free_local}, | |
2662 | +{-1, 396, "UserMSG_from_local", UserMSG_from_local}, | |
2663 | +{-1, 397, "UserMSG_to_local", UserMSG_to_local}, | |
2664 | +{-1, 390, "UserVARIANT_free_inst", UserVARIANT_free_inst}, | |
2665 | +{-1, 391, "UserVARIANT_free_local", UserVARIANT_free_local}, | |
2666 | +{-1, 388, "UserVARIANT_from_local", UserVARIANT_from_local}, | |
2667 | +{-1, 389, "UserVARIANT_to_local", UserVARIANT_to_local}, | |
2668 | +{-1, 290, "VARIANT_UserFree", VARIANT_UserFree}, | |
2669 | +{-1, 288, "VARIANT_UserMarshal", VARIANT_UserMarshal}, | |
2670 | +{-1, 287, "VARIANT_UserSize", VARIANT_UserSize}, | |
2671 | +{-1, 289, "VARIANT_UserUnmarshal", VARIANT_UserUnmarshal}, | |
2672 | +{-1, 168, "VarAbs", VarAbs}, | |
2673 | +{-1, 141, "VarAdd", VarAdd}, | |
2674 | +{-1, 142, "VarAnd", VarAnd}, | |
2675 | +{-1, 124, "VarBoolFromCy", VarBoolFromCy}, | |
2676 | +{-1, 123, "VarBoolFromDate", VarBoolFromDate}, | |
2677 | +{-1, 236, "VarBoolFromDec", VarBoolFromDec}, | |
2678 | +{-1, 126, "VarBoolFromDisp", VarBoolFromDisp}, | |
2679 | +{-1, 233, "VarBoolFromI1", VarBoolFromI1}, | |
2680 | +{-1, 119, "VarBoolFromI2", VarBoolFromI2}, | |
2681 | +{-1, 120, "VarBoolFromI4", VarBoolFromI4}, | |
2682 | +{-1, 121, "VarBoolFromR4", VarBoolFromR4}, | |
2683 | +{-1, 122, "VarBoolFromR8", VarBoolFromR8}, | |
2684 | +{-1, 125, "VarBoolFromStr", VarBoolFromStr}, | |
2685 | +{-1, 118, "VarBoolFromUI1", VarBoolFromUI1}, | |
2686 | +{-1, 234, "VarBoolFromUI2", VarBoolFromUI2}, | |
2687 | +{-1, 235, "VarBoolFromUI4", VarBoolFromUI4}, | |
2688 | +{-1, 313, "VarBstrCat", VarBstrCat}, | |
2689 | +{-1, 314, "VarBstrCmp", VarBstrCmp}, | |
2690 | +{-1, 116, "VarBstrFromBool", VarBstrFromBool}, | |
2691 | +{-1, 113, "VarBstrFromCy", VarBstrFromCy}, | |
2692 | +{-1, 114, "VarBstrFromDate", VarBstrFromDate}, | |
2693 | +{-1, 232, "VarBstrFromDec", VarBstrFromDec}, | |
2694 | +{-1, 115, "VarBstrFromDisp", VarBstrFromDisp}, | |
2695 | +{-1, 229, "VarBstrFromI1", VarBstrFromI1}, | |
2696 | +{-1, 109, "VarBstrFromI2", VarBstrFromI2}, | |
2697 | +{-1, 110, "VarBstrFromI4", VarBstrFromI4}, | |
2698 | +{-1, 111, "VarBstrFromR4", VarBstrFromR4}, | |
2699 | +{-1, 112, "VarBstrFromR8", VarBstrFromR8}, | |
2700 | +{-1, 108, "VarBstrFromUI1", VarBstrFromUI1}, | |
2701 | +{-1, 230, "VarBstrFromUI2", VarBstrFromUI2}, | |
2702 | +{-1, 231, "VarBstrFromUI4", VarBstrFromUI4}, | |
2703 | +{-1, 318, "VarCat", VarCat}, | |
2704 | +{-1, 176, "VarCmp", VarCmp}, | |
2705 | +{-1, 306, "VarCyAbs", VarCyAbs}, | |
2706 | +{-1, 299, "VarCyAdd", VarCyAdd}, | |
2707 | +{-1, 311, "VarCyCmp", VarCyCmp}, | |
2708 | +{-1, 312, "VarCyCmpR8", VarCyCmpR8}, | |
2709 | +{-1, 307, "VarCyFix", VarCyFix}, | |
2710 | +{-1, 106, "VarCyFromBool", VarCyFromBool}, | |
2711 | +{-1, 103, "VarCyFromDate", VarCyFromDate}, | |
2712 | +{-1, 228, "VarCyFromDec", VarCyFromDec}, | |
2713 | +{-1, 105, "VarCyFromDisp", VarCyFromDisp}, | |
2714 | +{-1, 225, "VarCyFromI1", VarCyFromI1}, | |
2715 | +{-1, 99, "VarCyFromI2", VarCyFromI2}, | |
2716 | +{-1, 100, "VarCyFromI4", VarCyFromI4}, | |
2717 | +{-1, 101, "VarCyFromR4", VarCyFromR4}, | |
2718 | +{-1, 102, "VarCyFromR8", VarCyFromR8}, | |
2719 | +{-1, 104, "VarCyFromStr", VarCyFromStr}, | |
2720 | +{-1, 98, "VarCyFromUI1", VarCyFromUI1}, | |
2721 | +{-1, 226, "VarCyFromUI2", VarCyFromUI2}, | |
2722 | +{-1, 227, "VarCyFromUI4", VarCyFromUI4}, | |
2723 | +{-1, 308, "VarCyInt", VarCyInt}, | |
2724 | +{-1, 303, "VarCyMul", VarCyMul}, | |
2725 | +{-1, 304, "VarCyMulI4", VarCyMulI4}, | |
2726 | +{-1, 309, "VarCyNeg", VarCyNeg}, | |
2727 | +{-1, 310, "VarCyRound", VarCyRound}, | |
2728 | +{-1, 305, "VarCySub", VarCySub}, | |
2729 | +{-1, 96, "VarDateFromBool", VarDateFromBool}, | |
2730 | +{-1, 93, "VarDateFromCy", VarDateFromCy}, | |
2731 | +{-1, 224, "VarDateFromDec", VarDateFromDec}, | |
2732 | +{-1, 95, "VarDateFromDisp", VarDateFromDisp}, | |
2733 | +{-1, 221, "VarDateFromI1", VarDateFromI1}, | |
2734 | +{-1, 89, "VarDateFromI2", VarDateFromI2}, | |
2735 | +{-1, 90, "VarDateFromI4", VarDateFromI4}, | |
2736 | +{-1, 91, "VarDateFromR4", VarDateFromR4}, | |
2737 | +{-1, 92, "VarDateFromR8", VarDateFromR8}, | |
2738 | +{-1, 94, "VarDateFromStr", VarDateFromStr}, | |
2739 | +{-1, 88, "VarDateFromUI1", VarDateFromUI1}, | |
2740 | +{-1, 222, "VarDateFromUI2", VarDateFromUI2}, | |
2741 | +{-1, 223, "VarDateFromUI4", VarDateFromUI4}, | |
2742 | +{-1, 330, "VarDateFromUdate", VarDateFromUdate}, | |
2743 | +{-1, 319, "VarDateFromUdateEx", VarDateFromUdateEx}, | |
2744 | +{-1, 182, "VarDecAbs", VarDecAbs}, | |
2745 | +{-1, 177, "VarDecAdd", VarDecAdd}, | |
2746 | +{-1, 204, "VarDecCmp", VarDecCmp}, | |
2747 | +{-1, 298, "VarDecCmpR8", VarDecCmpR8}, | |
2748 | +{-1, 178, "VarDecDiv", VarDecDiv}, | |
2749 | +{-1, 187, "VarDecFix", VarDecFix}, | |
2750 | +{-1, 199, "VarDecFromBool", VarDecFromBool}, | |
2751 | +{-1, 196, "VarDecFromCy", VarDecFromCy}, | |
2752 | +{-1, 195, "VarDecFromDate", VarDecFromDate}, | |
2753 | +{-1, 198, "VarDecFromDisp", VarDecFromDisp}, | |
2754 | +{-1, 241, "VarDecFromI1", VarDecFromI1}, | |
2755 | +{-1, 191, "VarDecFromI2", VarDecFromI2}, | |
2756 | +{-1, 192, "VarDecFromI4", VarDecFromI4}, | |
2757 | +{-1, 193, "VarDecFromR4", VarDecFromR4}, | |
2758 | +{-1, 194, "VarDecFromR8", VarDecFromR8}, | |
2759 | +{-1, 197, "VarDecFromStr", VarDecFromStr}, | |
2760 | +{-1, 190, "VarDecFromUI1", VarDecFromUI1}, | |
2761 | +{-1, 242, "VarDecFromUI2", VarDecFromUI2}, | |
2762 | +{-1, 243, "VarDecFromUI4", VarDecFromUI4}, | |
2763 | +{-1, 188, "VarDecInt", VarDecInt}, | |
2764 | +{-1, 179, "VarDecMul", VarDecMul}, | |
2765 | +{-1, 189, "VarDecNeg", VarDecNeg}, | |
2766 | +{-1, 203, "VarDecRound", VarDecRound}, | |
2767 | +{-1, 181, "VarDecSub", VarDecSub}, | |
2768 | +{-1, 143, "VarDiv", VarDiv}, | |
2769 | +{-1, 152, "VarEqv", VarEqv}, | |
2770 | +{-1, 169, "VarFix", VarFix}, | |
2771 | +{-1, 87, "VarFormat", VarFormat}, | |
2772 | +{-1, 127, "VarFormatCurrency", VarFormatCurrency}, | |
2773 | +{-1, 97, "VarFormatDateTime", VarFormatDateTime}, | |
2774 | +{-1, 139, "VarFormatFromTokens", VarFormatFromTokens}, | |
2775 | +{-1, 107, "VarFormatNumber", VarFormatNumber}, | |
2776 | +{-1, 117, "VarFormatPercent", VarFormatPercent}, | |
2777 | +{-1, 253, "VarI1FromBool", VarI1FromBool}, | |
2778 | +{-1, 250, "VarI1FromCy", VarI1FromCy}, | |
2779 | +{-1, 249, "VarI1FromDate", VarI1FromDate}, | |
2780 | +{-1, 256, "VarI1FromDec", VarI1FromDec}, | |
2781 | +{-1, 252, "VarI1FromDisp", VarI1FromDisp}, | |
2782 | +{-1, 245, "VarI1FromI2", VarI1FromI2}, | |
2783 | +{-1, 246, "VarI1FromI4", VarI1FromI4}, | |
2784 | +{-1, 247, "VarI1FromR4", VarI1FromR4}, | |
2785 | +{-1, 248, "VarI1FromR8", VarI1FromR8}, | |
2786 | +{-1, 251, "VarI1FromStr", VarI1FromStr}, | |
2787 | +{-1, 244, "VarI1FromUI1", VarI1FromUI1}, | |
2788 | +{-1, 254, "VarI1FromUI2", VarI1FromUI2}, | |
2789 | +{-1, 255, "VarI1FromUI4", VarI1FromUI4}, | |
2790 | +{-1, 56, "VarI2FromBool", VarI2FromBool}, | |
2791 | +{-1, 52, "VarI2FromCy", VarI2FromCy}, | |
2792 | +{-1, 53, "VarI2FromDate", VarI2FromDate}, | |
2793 | +{-1, 208, "VarI2FromDec", VarI2FromDec}, | |
2794 | +{-1, 55, "VarI2FromDisp", VarI2FromDisp}, | |
2795 | +{-1, 205, "VarI2FromI1", VarI2FromI1}, | |
2796 | +{-1, 49, "VarI2FromI4", VarI2FromI4}, | |
2797 | +{-1, 50, "VarI2FromR4", VarI2FromR4}, | |
2798 | +{-1, 51, "VarI2FromR8", VarI2FromR8}, | |
2799 | +{-1, 54, "VarI2FromStr", VarI2FromStr}, | |
2800 | +{-1, 48, "VarI2FromUI1", VarI2FromUI1}, | |
2801 | +{-1, 206, "VarI2FromUI2", VarI2FromUI2}, | |
2802 | +{-1, 207, "VarI2FromUI4", VarI2FromUI4}, | |
2803 | +{-1, 66, "VarI4FromBool", VarI4FromBool}, | |
2804 | +{-1, 62, "VarI4FromCy", VarI4FromCy}, | |
2805 | +{-1, 63, "VarI4FromDate", VarI4FromDate}, | |
2806 | +{-1, 212, "VarI4FromDec", VarI4FromDec}, | |
2807 | +{-1, 65, "VarI4FromDisp", VarI4FromDisp}, | |
2808 | +{-1, 209, "VarI4FromI1", VarI4FromI1}, | |
2809 | +{-1, 59, "VarI4FromI2", VarI4FromI2}, | |
2810 | +{-1, 60, "VarI4FromR4", VarI4FromR4}, | |
2811 | +{-1, 61, "VarI4FromR8", VarI4FromR8}, | |
2812 | +{-1, 64, "VarI4FromStr", VarI4FromStr}, | |
2813 | +{-1, 58, "VarI4FromUI1", VarI4FromUI1}, | |
2814 | +{-1, 210, "VarI4FromUI2", VarI4FromUI2}, | |
2815 | +{-1, 211, "VarI4FromUI4", VarI4FromUI4}, | |
2816 | +{-1, 153, "VarIdiv", VarIdiv}, | |
2817 | +{-1, 154, "VarImp", VarImp}, | |
2818 | +{-1, 172, "VarInt", VarInt}, | |
2819 | +{-1, 155, "VarMod", VarMod}, | |
2820 | +{-1, 129, "VarMonthName", VarMonthName}, | |
2821 | +{-1, 156, "VarMul", VarMul}, | |
2822 | +{-1, 173, "VarNeg", VarNeg}, | |
2823 | +{-1, 174, "VarNot", VarNot}, | |
2824 | +{-1, 47, "VarNumFromParseNum", VarNumFromParseNum}, | |
2825 | +{-1, 157, "VarOr", VarOr}, | |
2826 | +{-1, 46, "VarParseNumFromStr", VarParseNumFromStr}, | |
2827 | +{-1, 158, "VarPow", VarPow}, | |
2828 | +{-1, 316, "VarR4CmpR8", VarR4CmpR8}, | |
2829 | +{-1, 76, "VarR4FromBool", VarR4FromBool}, | |
2830 | +{-1, 72, "VarR4FromCy", VarR4FromCy}, | |
2831 | +{-1, 73, "VarR4FromDate", VarR4FromDate}, | |
2832 | +{-1, 216, "VarR4FromDec", VarR4FromDec}, | |
2833 | +{-1, 75, "VarR4FromDisp", VarR4FromDisp}, | |
2834 | +{-1, 213, "VarR4FromI1", VarR4FromI1}, | |
2835 | +{-1, 69, "VarR4FromI2", VarR4FromI2}, | |
2836 | +{-1, 70, "VarR4FromI4", VarR4FromI4}, | |
2837 | +{-1, 71, "VarR4FromR8", VarR4FromR8}, | |
2838 | +{-1, 74, "VarR4FromStr", VarR4FromStr}, | |
2839 | +{-1, 68, "VarR4FromUI1", VarR4FromUI1}, | |
2840 | +{-1, 214, "VarR4FromUI2", VarR4FromUI2}, | |
2841 | +{-1, 215, "VarR4FromUI4", VarR4FromUI4}, | |
2842 | +{-1, 86, "VarR8FromBool", VarR8FromBool}, | |
2843 | +{-1, 82, "VarR8FromCy", VarR8FromCy}, | |
2844 | +{-1, 83, "VarR8FromDate", VarR8FromDate}, | |
2845 | +{-1, 220, "VarR8FromDec", VarR8FromDec}, | |
2846 | +{-1, 85, "VarR8FromDisp", VarR8FromDisp}, | |
2847 | +{-1, 217, "VarR8FromI1", VarR8FromI1}, | |
2848 | +{-1, 79, "VarR8FromI2", VarR8FromI2}, | |
2849 | +{-1, 80, "VarR8FromI4", VarR8FromI4}, | |
2850 | +{-1, 81, "VarR8FromR4", VarR8FromR4}, | |
2851 | +{-1, 84, "VarR8FromStr", VarR8FromStr}, | |
2852 | +{-1, 78, "VarR8FromUI1", VarR8FromUI1}, | |
2853 | +{-1, 218, "VarR8FromUI2", VarR8FromUI2}, | |
2854 | +{-1, 219, "VarR8FromUI4", VarR8FromUI4}, | |
2855 | +{-1, 315, "VarR8Pow", VarR8Pow}, | |
2856 | +{-1, 317, "VarR8Round", VarR8Round}, | |
2857 | +{-1, 175, "VarRound", VarRound}, | |
2858 | +{-1, 159, "VarSub", VarSub}, | |
2859 | +{-1, 140, "VarTokenizeFormatString", VarTokenizeFormatString}, | |
2860 | +{-1, 138, "VarUI1FromBool", VarUI1FromBool}, | |
2861 | +{-1, 134, "VarUI1FromCy", VarUI1FromCy}, | |
2862 | +{-1, 135, "VarUI1FromDate", VarUI1FromDate}, | |
2863 | +{-1, 240, "VarUI1FromDec", VarUI1FromDec}, | |
2864 | +{-1, 137, "VarUI1FromDisp", VarUI1FromDisp}, | |
2865 | +{-1, 237, "VarUI1FromI1", VarUI1FromI1}, | |
2866 | +{-1, 130, "VarUI1FromI2", VarUI1FromI2}, | |
2867 | +{-1, 131, "VarUI1FromI4", VarUI1FromI4}, | |
2868 | +{-1, 132, "VarUI1FromR4", VarUI1FromR4}, | |
2869 | +{-1, 133, "VarUI1FromR8", VarUI1FromR8}, | |
2870 | +{-1, 136, "VarUI1FromStr", VarUI1FromStr}, | |
2871 | +{-1, 238, "VarUI1FromUI2", VarUI1FromUI2}, | |
2872 | +{-1, 239, "VarUI1FromUI4", VarUI1FromUI4}, | |
2873 | +{-1, 266, "VarUI2FromBool", VarUI2FromBool}, | |
2874 | +{-1, 263, "VarUI2FromCy", VarUI2FromCy}, | |
2875 | +{-1, 262, "VarUI2FromDate", VarUI2FromDate}, | |
2876 | +{-1, 269, "VarUI2FromDec", VarUI2FromDec}, | |
2877 | +{-1, 265, "VarUI2FromDisp", VarUI2FromDisp}, | |
2878 | +{-1, 267, "VarUI2FromI1", VarUI2FromI1}, | |
2879 | +{-1, 258, "VarUI2FromI2", VarUI2FromI2}, | |
2880 | +{-1, 259, "VarUI2FromI4", VarUI2FromI4}, | |
2881 | +{-1, 260, "VarUI2FromR4", VarUI2FromR4}, | |
2882 | +{-1, 261, "VarUI2FromR8", VarUI2FromR8}, | |
2883 | +{-1, 264, "VarUI2FromStr", VarUI2FromStr}, | |
2884 | +{-1, 257, "VarUI2FromUI1", VarUI2FromUI1}, | |
2885 | +{-1, 268, "VarUI2FromUI4", VarUI2FromUI4}, | |
2886 | +{-1, 279, "VarUI4FromBool", VarUI4FromBool}, | |
2887 | +{-1, 276, "VarUI4FromCy", VarUI4FromCy}, | |
2888 | +{-1, 275, "VarUI4FromDate", VarUI4FromDate}, | |
2889 | +{-1, 282, "VarUI4FromDec", VarUI4FromDec}, | |
2890 | +{-1, 278, "VarUI4FromDisp", VarUI4FromDisp}, | |
2891 | +{-1, 280, "VarUI4FromI1", VarUI4FromI1}, | |
2892 | +{-1, 271, "VarUI4FromI2", VarUI4FromI2}, | |
2893 | +{-1, 272, "VarUI4FromI4", VarUI4FromI4}, | |
2894 | +{-1, 273, "VarUI4FromR4", VarUI4FromR4}, | |
2895 | +{-1, 274, "VarUI4FromR8", VarUI4FromR8}, | |
2896 | +{-1, 277, "VarUI4FromStr", VarUI4FromStr}, | |
2897 | +{-1, 270, "VarUI4FromUI1", VarUI4FromUI1}, | |
2898 | +{-1, 281, "VarUI4FromUI2", VarUI4FromUI2}, | |
2899 | +{-1, 331, "VarUdateFromDate", VarUdateFromDate}, | |
2900 | +{-1, 128, "VarWeekdayName", VarWeekdayName}, | |
2901 | +{-1, 167, "VarXor", VarXor}, | |
2902 | +{-1, 12, "VariantChangeType", VariantChangeType}, | |
2903 | +{-1, 147, "VariantChangeTypeEx", VariantChangeTypeEx}, | |
2904 | +{-1, 9, "VariantClear", VariantClear}, | |
2905 | +{-1, 10, "VariantCopy", VariantCopy}, | |
2906 | +{-1, 11, "VariantCopyInd", VariantCopyInd}, | |
2907 | +{-1, 8, "VariantInit", VariantInit}, | |
2908 | +{-1, 13, "VariantTimeToDosDateTime", VariantTimeToDosDateTime}, | |
2909 | +{-1, 185, "VariantTimeToSystemTime", VariantTimeToSystemTime}, | |
2910 | +{-1, 413, "VectorFromBstr", VectorFromBstr}, | |
2911 | +{-1, 0, NULL, NULL}}; |
@@ -1,10 +1,10 @@ | ||
1 | 1 | /* |
2 | 2 | w32loader |
3 | - copyright (c) 1998-2007 Kazuki IWAMOTO http://www.maid.org/ iwm@maid.org | |
3 | + copyright (c) 1998-2010 Kazuki Iwamoto http://www.maid.org/ iwm@maid.org | |
4 | 4 | |
5 | - This program is free software; you can redistribute it and/or modify | |
5 | + This program is free software: you can redistribute it and/or modify | |
6 | 6 | it under the terms of the GNU General Public License as published by |
7 | - the Free Software Foundation; either version 2 of the License, or | |
7 | + the Free Software Foundation, either version 3 of the License, or | |
8 | 8 | (at your option) any later version. |
9 | 9 | |
10 | 10 | This program is distributed in the hope that it will be useful, |
@@ -13,8 +13,7 @@ | ||
13 | 13 | GNU General Public License for more details. |
14 | 14 | |
15 | 15 | You should have received a copy of the GNU General Public License |
16 | - along with this program; if not, write to the Free Software | |
17 | - Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA | |
16 | + along with this program. If not, see <http://www.gnu.org/licenses/>. | |
18 | 17 | */ |
19 | 18 | #ifndef __OLEAUT32_H__ |
20 | 19 | #define __OLEAUT32_H__ |
@@ -23,9 +22,7 @@ | ||
23 | 22 | #include "w32ldr.h" |
24 | 23 | |
25 | 24 | |
26 | -#ifdef __cplusplus | |
27 | -extern "C" { | |
28 | -#endif /* __cplusplus */ | |
25 | +G_BEGIN_DECLS | |
29 | 26 | |
30 | 27 | |
31 | 28 | #include "ole32.h" |
@@ -38,7 +35,7 @@ | ||
38 | 35 | } REGKIND; |
39 | 36 | |
40 | 37 | |
41 | -extern W32LdrExport oleaut32_exports[]; | |
38 | +extern W32LdrExport w32ldr_oleaut32_exports[]; | |
42 | 39 | |
43 | 40 | |
44 | 41 | HRESULT WINAPI LoadTypeLib (LPCOLESTR szFile, ITypeLib **pptLib); |
@@ -46,9 +43,7 @@ | ||
46 | 43 | HRESULT WINAPI RegisterTypeLib (ITypeLib *ptlib, OLECHAR *szFullPath, OLECHAR *szHelpDir); |
47 | 44 | |
48 | 45 | |
49 | -#ifdef __cplusplus | |
50 | -} | |
51 | -#endif /* __cplusplus */ | |
46 | +G_END_DECLS | |
52 | 47 | |
53 | 48 | |
54 | 49 | #endif /* __OLEAUT32_H__ */ |
@@ -1,6 +1,6 @@ | ||
1 | 1 | /* |
2 | 2 | w32loader |
3 | - copyright (c) 1998-2009 Kazuki IWAMOTO http://www.maid.org/ iwm@maid.org | |
3 | + copyright (c) 1998-2010 Kazuki Iwamoto http://www.maid.org/ iwm@maid.org | |
4 | 4 | |
5 | 5 | This program is free software: you can redistribute it and/or modify |
6 | 6 | it under the terms of the GNU General Public License as published by |
@@ -34,6 +34,7 @@ | ||
34 | 34 | #include "winmm.h" |
35 | 35 | #include "winsock.h" |
36 | 36 | #include "misc/fileio.h" |
37 | +#include "misc/peimage.h" | |
37 | 38 | #include "misc/profile.h" |
38 | 39 | |
39 | 40 |
@@ -49,228 +50,77 @@ | ||
49 | 50 | * ja:モジュール関数群 * |
50 | 51 | * * |
51 | 52 | ******************************************************************************/ |
52 | -static GList *glist_module = NULL; | |
53 | -# ifdef USE_THREAD | |
54 | -G_LOCK_DEFINE_STATIC (critical); | |
55 | -static volatile gboolean critical = FALSE; | |
56 | -# endif /* USE_THREAD */ | |
53 | +typedef BOOL CALLBACK (*DllEntryProc)(HMODULE, DWORD, LPVOID); | |
57 | 54 | |
58 | 55 | |
59 | -/* | |
60 | -0x0001 = Cursor | |
61 | -0x0002 = Bitmap | |
62 | -0x0003 = Icon | |
63 | -0x0004 = Menu | |
64 | -0x0005 = Dialog | |
65 | -0x0006 = String Table | |
66 | -0x0007 = Font Directory | |
67 | -0x0008 = Font | |
68 | -0x0009 = Accelerators Table | |
69 | -0x000A = RC Data (custom binary data) | |
70 | -0x000B = Message table | |
71 | -0x000C = Group Cursor | |
72 | -0x000E = Group Icon | |
73 | -0x0010 = Version Information | |
74 | -0x0011 = Dialog Include | |
75 | -0x0013 = Plug'n'Play | |
76 | -0x0014 = VXD | |
77 | -0x0015 = Animated Cursor | |
78 | -0x2002 = Bitmap (new version) | |
79 | -0x2004 = Menu (new version) | |
80 | -0x2005 = Dialog (new version) | |
81 | -*/ | |
82 | -static void | |
83 | -w32ldr_module_resource_directory (W32LdrModule *module, | |
84 | - PIMAGE_RESOURCE_DIRECTORY pird, | |
85 | - const gchar *name) | |
86 | -{ | |
87 | - guint8 *image; | |
88 | - gint i; | |
89 | - PIMAGE_FILE_HEADER pifh; | |
90 | - PIMAGE_OPTIONAL_HEADER pioh; | |
56 | +static PeProcess *process = NULL; | |
91 | 57 | |
92 | - image = (guint8 *)(module + 1); | |
93 | - pifh = (PIMAGE_FILE_HEADER) | |
94 | - (image + ((PIMAGE_DOS_HEADER)image)->e_lfanew + sizeof (DWORD)); | |
95 | - pioh = (PIMAGE_OPTIONAL_HEADER)(pifh + 1); | |
96 | - for (i = 0; i < pird->NumberOfNamedEntries + pird->NumberOfIdEntries; i++) | |
97 | - { | |
98 | - gchar *new_name; | |
99 | - PIMAGE_RESOURCE_DIRECTORY_ENTRY pirde; | |
100 | 58 | |
101 | - pirde = (PIMAGE_RESOURCE_DIRECTORY_ENTRY) | |
102 | - ((LPBYTE)pird + sizeof (IMAGE_RESOURCE_DIRECTORY) | |
103 | - + sizeof (IMAGE_RESOURCE_DIRECTORY_ENTRY) * i); | |
104 | - if (pirde->Id & 0x80000000) | |
105 | - { | |
106 | - gchar *utf8str, *tmp; | |
107 | - PIMAGE_RESOURCE_DIR_STRING_U pirdsu; | |
108 | - | |
109 | - pirdsu = (PIMAGE_RESOURCE_DIR_STRING_U)(image | |
110 | - + pioh->DataDirectory | |
111 | - [IMAGE_DIRECTORY_ENTRY_RESOURCE].VirtualAddress | |
112 | - + (pirde->Id & 0x7fffffff)); | |
113 | - utf8str = g_utf16_to_utf8 (pirdsu->NameString, pirdsu->Length, | |
114 | - NULL, NULL, NULL); | |
115 | - tmp = g_utf8_strup (utf8str, -1); | |
116 | - g_free (utf8str); | |
117 | - new_name = g_strdup_printf ("%s/%s", name, tmp); | |
118 | - g_free (tmp); | |
119 | - } | |
120 | - else | |
121 | - { | |
122 | - new_name = g_strdup_printf ("%s/0x%x", name, pirde->Id); | |
123 | - } | |
124 | - if (pirde->OffsetToData & 0x80000000) | |
125 | - { | |
126 | - w32ldr_module_resource_directory (module, | |
127 | - (PIMAGE_RESOURCE_DIRECTORY)(image | |
128 | - + pioh->DataDirectory | |
129 | - [IMAGE_DIRECTORY_ENTRY_RESOURCE].VirtualAddress | |
130 | - + (pirde->OffsetToData & 0x7fffffff)), new_name); | |
131 | - g_free (new_name); | |
132 | - } | |
133 | - else | |
134 | - { | |
135 | - guint8 *data; | |
136 | - PIMAGE_RESOURCE_DATA_ENTRY de; | |
137 | - | |
138 | - de = (PIMAGE_RESOURCE_DATA_ENTRY)(image | |
139 | - + pioh->DataDirectory | |
140 | - [IMAGE_DIRECTORY_ENTRY_RESOURCE].VirtualAddress | |
141 | - + pirde->OffsetToData); | |
142 | - data = g_malloc (de->Size + sizeof (DWORD)); | |
143 | - *(LPDWORD)data = de->Size; | |
144 | - g_memmove (data + sizeof (DWORD), image + de->OffsetToData, | |
145 | - de->Size); | |
146 | - g_hash_table_insert (module->resource, new_name, data); | |
147 | - } | |
148 | - } | |
149 | -} | |
150 | - | |
151 | - | |
152 | -static gchar * | |
153 | -w32ldr_module_get_basename (const gchar *file) | |
154 | -{ | |
155 | - gchar *name = NULL; | |
156 | - | |
157 | - if (file) | |
158 | - { | |
159 | - name = g_path_get_basename (file); | |
160 | - if (!g_strrchr (name, '.')) | |
161 | - { | |
162 | - gchar *tmp; | |
163 | - | |
164 | - tmp = g_strconcat (name, ".dll", NULL); | |
165 | - g_free (name); | |
166 | - name = tmp; | |
167 | - } | |
168 | - } | |
169 | - return name; | |
170 | -} | |
171 | - | |
172 | - | |
173 | 59 | /* ja:既にロードされているモジュールを取得する |
174 | 60 | file,モジュール名 |
175 | 61 | RET,モジュール,NULL:ロードされていない */ |
176 | -W32LdrModule * | |
62 | +gpointer | |
177 | 63 | w32ldr_module_get_library (const gchar *file) |
178 | 64 | { |
179 | - W32LdrModule *module = NULL; | |
180 | - | |
181 | - if (file) | |
182 | - { | |
183 | - gchar *base, *name; | |
184 | - GList *glist; | |
185 | - | |
186 | - base = g_path_get_basename (file); | |
187 | - name = w32ldr_module_get_basename (file); | |
188 | -#ifdef USE_THREAD | |
189 | - G_LOCK (critical); | |
190 | - critical = TRUE; | |
191 | -#endif /* USE_THREAD */ | |
192 | - for (glist = g_list_first (glist_module); | |
193 | - glist; glist = g_list_next (glist)) | |
194 | - if (g_ascii_strcasecmp (((W32LdrModule *)glist->data)->name, base) == 0 | |
195 | - || g_ascii_strcasecmp (((W32LdrModule *)glist->data)->name, name) == 0) | |
196 | - { | |
197 | - module = glist->data; | |
198 | - break; | |
199 | - } | |
200 | -#ifdef USE_THREAD | |
201 | - critical = FALSE; | |
202 | - G_UNLOCK (critical); | |
203 | -#endif /* USE_THREAD */ | |
204 | - g_free (base); | |
205 | - g_free (name); | |
206 | - } | |
207 | - return module; | |
65 | + if (!process) | |
66 | + process = g_malloc0 (sizeof (PeProcess)); | |
67 | + return peimage_module_get_library (process, file); | |
208 | 68 | } |
209 | 69 | |
210 | 70 | |
211 | -/* ja:モジュールをロードする | |
212 | - file,モジュール名 | |
213 | - exec,TRUE:DllMainを実行する,FALSE:ロードのみ | |
214 | - RET,モジュール,NULL:エラー */ | |
215 | -W32LdrModule * | |
216 | -w32ldr_module_load_library (const gchar *file, | |
217 | - const gboolean exec) | |
71 | +/* ja:システムイメージをロードする | |
72 | + process,プロセス | |
73 | + file,イメージ名 | |
74 | + user_data,ユーザデータ | |
75 | + RET,イメージ,NULL:エラー */ | |
76 | +static guint8 * | |
77 | +w32ldr_module_callback_system (PeProcess *process, | |
78 | + const gchar *file, | |
79 | + gpointer user_data) | |
218 | 80 | { |
219 | - gboolean result = TRUE; | |
220 | - gssize leng; | |
221 | - guint8 *image; | |
81 | + guint8 *image = NULL; | |
222 | 82 | gint i; |
223 | - W32LdrModule *module; | |
224 | - PIMAGE_DOS_HEADER pidh; | |
225 | - PIMAGE_FILE_HEADER pifh; | |
226 | - PIMAGE_OPTIONAL_HEADER pioh; | |
227 | - PIMAGE_SECTION_HEADER pish; | |
228 | 83 | struct { |
229 | 84 | const gchar *name; |
230 | 85 | W32LdrExport *exports; |
231 | 86 | } osdll[] = { |
232 | - {"advapi32.dll", advapi32_exports}, | |
233 | - {"comctl32.dll", commctrl_exports}, | |
234 | - {"comdlg32.dll", commdlg_exports}, | |
235 | - {"gdi32.dll", gdi32_exports}, | |
236 | - {"kernel32.dll", kernel32_exports}, | |
237 | - {"msvcrt.dll", msvcrt_exports}, | |
238 | - {"ntdll.dll", ntdll_exports}, | |
239 | - {"ole32.dll", ole32_exports}, | |
240 | - {"oleaut32.dll", oleaut32_exports}, | |
241 | - {"rasapi32.dll", rasapi32_exports}, | |
242 | - {"rasdlg.dll", rasdlg_exports}, | |
243 | - {"shell32.dll", shell32_exports}, | |
244 | - {"user32.dll", user32_exports}, | |
245 | - {"version.dll", version_exports}, | |
246 | - {"winmm.dll", winmm_exports}, | |
247 | - {"wsock32.dll", winsock_exports}, | |
87 | + {"advapi32.dll", w32ldr_advapi32_exports}, | |
88 | + {"comctl32.dll", w32ldr_commctrl_exports}, | |
89 | + {"comdlg32.dll", w32ldr_commdlg_exports}, | |
90 | + {"gdi32.dll", w32ldr_gdi32_exports}, | |
91 | + {"kernel32.dll", w32ldr_kernel32_exports}, | |
92 | + {"msvcrt.dll", w32ldr_msvcrt_exports}, | |
93 | + {"ntdll.dll", w32ldr_ntdll_exports}, | |
94 | + {"ole32.dll", w32ldr_ole32_exports}, | |
95 | + {"oleaut32.dll", w32ldr_oleaut32_exports}, | |
96 | + {"rasapi32.dll", w32ldr_rasapi32_exports}, | |
97 | + {"rasdlg.dll", w32ldr_rasdlg_exports}, | |
98 | + {"shell32.dll", w32ldr_shell32_exports}, | |
99 | + {"user32.dll", w32ldr_user32_exports}, | |
100 | + {"version.dll", w32ldr_version_exports}, | |
101 | + {"winmm.dll", w32ldr_winmm_exports}, | |
102 | + {"wsock32.dll", w32ldr_winsock_exports}, | |
248 | 103 | {NULL, NULL}}; |
249 | 104 | |
250 | - if (!file) | |
251 | - return NULL; | |
252 | - module = w32ldr_module_get_library (file); | |
253 | - if (module) | |
254 | - { | |
255 | - /* ja:既読 */ | |
256 | - module->counter++; | |
257 | - return module; | |
258 | - } | |
259 | - module = g_malloc0 (sizeof (W32LdrModule)); | |
260 | - module->name = w32ldr_module_get_basename (file); | |
261 | - module->counter = 1; | |
262 | 105 | for (i = 0; osdll[i].name; i++) |
263 | - if (g_ascii_strcasecmp (osdll[i].name, module->name) == 0) | |
106 | + if (g_ascii_strcasecmp (osdll[i].name, file) == 0) | |
264 | 107 | { |
265 | 108 | /* ja:内蔵DLL */ |
266 | 109 | guint8 *p; |
267 | 110 | gchar *q; |
268 | - gint j, k = 0, implement = 0, num = 0; | |
111 | + gint j, num = 0; | |
269 | 112 | gint ordinal_min = G_MAXINT, ordinal_max = G_MININT; |
270 | - gsize leng_head, leng_code, leng_data; | |
271 | - LPDWORD signature, func, name; | |
272 | - LPWORD ordinal; | |
113 | + gsize leng, leng_head, leng_code, leng_data; | |
114 | + LPDWORD lpdwSignature, lpdwFunction, lpdwName; | |
115 | + LPWORD lpwOrdinal; | |
116 | + PIMAGE_DOS_HEADER pidh; | |
117 | + PIMAGE_FILE_HEADER pifh; | |
118 | + PIMAGE_OPTIONAL_HEADER pioh; | |
119 | + PIMAGE_SECTION_HEADER pish; | |
273 | 120 | PIMAGE_EXPORT_DIRECTORY pied; |
121 | +#ifdef USE_DEBUG | |
122 | + gchar *r; | |
123 | +#endif /* USE_DEBUG */ | |
274 | 124 | |
275 | 125 | leng_head = sizeof (IMAGE_DOS_HEADER) |
276 | 126 | + sizeof (DWORD) |
@@ -281,10 +131,15 @@ | ||
281 | 131 | leng_data = sizeof (IMAGE_EXPORT_DIRECTORY) |
282 | 132 | + g_strlen (osdll[i].name) + 1; |
283 | 133 | for (j = 0; osdll[i].exports[j].func; j++) |
284 | - if (osdll[i].exports[j].implement) | |
134 | + if (osdll[i].exports[j].implement >= 0) | |
285 | 135 | { |
286 | - implement++; | |
287 | - leng_code += 5; | |
136 | +#ifdef USE_DEBUG | |
137 | + leng_code += osdll[i].exports[j].implement > 0 | |
138 | + ? osdll[i].exports[j].implement : 30; | |
139 | +#else /* not USE_DEBUG */ | |
140 | + leng_code += osdll[i].exports[j].implement > 0 | |
141 | + ? osdll[i].exports[j].implement : 5; | |
142 | +#endif /* not USE_DEBUG */ | |
288 | 143 | if (osdll[i].exports[j].name) |
289 | 144 | { |
290 | 145 | num++; |
@@ -296,28 +151,28 @@ | ||
296 | 151 | if (ordinal_max < osdll[i].exports[j].ordinal) |
297 | 152 | ordinal_max = osdll[i].exports[j].ordinal; |
298 | 153 | } |
299 | - if (implement > 0) | |
300 | - leng_data += (ordinal_max - ordinal_min + 1) * sizeof (DWORD); | |
154 | + leng_data += (ordinal_max - ordinal_min + 1) * sizeof (DWORD); | |
301 | 155 | leng = leng_head + leng_code + leng_data; |
302 | - module = g_realloc (module, leng + sizeof (W32LdrModule)); | |
303 | - g_memset (module + 1, 0, leng); | |
156 | + image = g_malloc0 (leng); | |
304 | 157 | /* ja:ポインタ */ |
305 | - image = (guint8 *)(module + 1); | |
306 | 158 | pidh = (PIMAGE_DOS_HEADER)image; |
307 | - signature = (LPDWORD)(pidh + 1); | |
308 | - pifh = (PIMAGE_FILE_HEADER)(signature + 1); | |
159 | + lpdwSignature = (LPDWORD)(pidh + 1); | |
160 | + pifh = (PIMAGE_FILE_HEADER)(lpdwSignature + 1); | |
309 | 161 | pioh = (PIMAGE_OPTIONAL_HEADER)(pifh + 1); |
310 | 162 | pish = (PIMAGE_SECTION_HEADER)(pioh + 1); |
311 | 163 | p = (guint8 *)(pish + 1); |
312 | 164 | pied = (PIMAGE_EXPORT_DIRECTORY)(p + leng_code); |
313 | - func = (LPDWORD)(pied + 1); | |
314 | - name = func + ordinal_max - ordinal_min + 1; | |
315 | - ordinal = (LPWORD)(name + num); | |
316 | - q = (gchar *)(ordinal + num); | |
165 | + lpdwFunction = (LPDWORD)(pied + 1); | |
166 | + lpdwName = lpdwFunction + ordinal_max - ordinal_min + 1; | |
167 | + lpwOrdinal = (LPWORD)(lpdwName + num); | |
168 | + q = (gchar *)(lpwOrdinal + num); | |
169 | +#ifdef USE_DEBUG | |
170 | + r = q; | |
171 | +#endif /* USE_DEBUG */ | |
317 | 172 | /* ja:設定 */ |
318 | 173 | pidh->e_magic = IMAGE_DOS_SIGNATURE; |
319 | 174 | pidh->e_lfanew = sizeof (IMAGE_DOS_HEADER); |
320 | - *signature = IMAGE_NT_SIGNATURE; | |
175 | + *lpdwSignature = IMAGE_NT_SIGNATURE; | |
321 | 176 | pifh->Machine = IMAGE_FILE_MACHINE_I386; |
322 | 177 | pifh->NumberOfSections = 1; |
323 | 178 | pifh->SizeOfOptionalHeader = sizeof (IMAGE_OPTIONAL_HEADER); |
@@ -359,232 +214,43 @@ | ||
359 | 214 | | IMAGE_SCN_MEM_READ; |
360 | 215 | pied->Name = GPOINTER_TO_UINT (q) - GPOINTER_TO_UINT (image); |
361 | 216 | pied->Base = ordinal_min; |
362 | - pied->NumberOfFunctions = implement; | |
217 | + pied->NumberOfFunctions = ordinal_max - ordinal_min + 1; | |
363 | 218 | pied->NumberOfNames = num; |
364 | - pied->AddressOfFunctions = GPOINTER_TO_UINT (func) | |
219 | + pied->AddressOfFunctions = GPOINTER_TO_UINT (lpdwFunction) | |
365 | 220 | - GPOINTER_TO_UINT (image); |
366 | - pied->AddressOfNames = GPOINTER_TO_UINT (name) | |
221 | + pied->AddressOfNames = GPOINTER_TO_UINT (lpdwName) | |
367 | 222 | - GPOINTER_TO_UINT (image); |
368 | - pied->AddressOfNameOrdinals = GPOINTER_TO_UINT (ordinal) | |
223 | + pied->AddressOfNameOrdinals = GPOINTER_TO_UINT (lpwOrdinal) | |
369 | 224 | - GPOINTER_TO_UINT (image); |
370 | 225 | g_strcpy (q, osdll[i].name); |
371 | 226 | q += g_strlen (osdll[i].name) + 1; |
372 | 227 | for (j = 0; osdll[i].exports[j].func; j++) |
373 | - if (osdll[i].exports[j].implement) | |
228 | + if (osdll[i].exports[j].implement >= 0) | |
374 | 229 | { |
375 | 230 | gint index; |
376 | 231 | |
377 | 232 | index = osdll[i].exports[j].ordinal - ordinal_min; |
378 | - func[index] = GPOINTER_TO_UINT (p) - GPOINTER_TO_UINT (image); | |
379 | - *p++ = 0xe9; | |
380 | - *(guint32 *)p = GPOINTER_TO_UINT (osdll[i].exports[j].func) | |
381 | - - (GPOINTER_TO_UINT (p) + 4); | |
382 | - p += 4; | |
383 | - if (osdll[i].exports[j].name) | |
233 | + lpdwFunction[index] = GPOINTER_TO_UINT (p) | |
234 | + - GPOINTER_TO_UINT (image); | |
235 | + if (osdll[i].exports[j].implement > 0) | |
384 | 236 | { |
385 | - name[k] = GPOINTER_TO_UINT (q) - GPOINTER_TO_UINT (image); | |
386 | - g_strcpy (q, osdll[i].exports[j].name); | |
387 | - q += g_strlen (osdll[i].exports[j].name) + 1; | |
388 | - ordinal[k] = index; | |
389 | - k++; | |
237 | + g_memmove (p, osdll[i].exports[j].func, | |
238 | + osdll[i].exports[j].implement); | |
239 | + p += osdll[i].exports[j].implement; | |
390 | 240 | } |
391 | - } | |
392 | - module->file = g_build_filename | |
393 | - (w32ldr_dir_get_path (W32LDR_DIR_SYSTEM), osdll[i].name, NULL); | |
394 | - module->exports = g_hash_table_new (g_str_hash, g_str_equal); | |
395 | - module->ordinals = g_hash_table_new (g_direct_hash, g_direct_equal); | |
396 | - for (j = 0; osdll[i].exports[j].func; j++) | |
397 | - if (osdll[i].exports[j].implement) | |
398 | - { | |
399 | - if (osdll[i].exports[j].name) | |
400 | - g_hash_table_insert (module->exports, | |
401 | - osdll[i].exports[j].name, osdll[i].exports[j].func); | |
402 | - g_hash_table_insert (module->ordinals, | |
403 | - GUINT_TO_POINTER ((guint)osdll[i].exports[j].ordinal), | |
404 | - osdll[i].exports[j].func); | |
405 | - } | |
406 | -#ifdef USE_THREAD | |
407 | - G_LOCK (critical); | |
408 | - critical = TRUE; | |
409 | -#endif /* USE_THREAD */ | |
410 | - glist_module = g_list_append (glist_module, module); | |
411 | -#ifdef USE_THREAD | |
412 | - critical = FALSE; | |
413 | - G_UNLOCK (critical); | |
414 | -#endif /* USE_THREAD */ | |
415 | - return module; | |
416 | - } | |
417 | - | |
418 | - module->name = g_path_get_basename (file); | |
419 | - module->file = fileio_get_full_path (file); | |
420 | - image = fileio_load (module->file, &leng); | |
421 | - for (i = 0; i < 8; i++) | |
422 | - if (!image) | |
423 | - { | |
424 | - gchar *path; | |
425 | - | |
426 | - g_free (module->name); | |
427 | - g_free (module->file); | |
428 | - module->name = i % 2 == 0 ? g_path_get_basename (file) | |
429 | - : w32ldr_module_get_basename (file); | |
430 | - path = i < 4 ? g_build_filename (w32ldr_dir_get_path | |
431 | - (i / 2 == 0 ? W32LDR_DIR_SYSTEM : W32LDR_DIR_WINDOWS), | |
432 | - module->name, NULL) | |
433 | - : g_build_filename (w32ldr_dir_get_path (W32LDR_DIR_HOME), | |
434 | - i < 6 ? "bin" : "lib", module->name, NULL); | |
435 | - module->file = w32ldr_dir_get_case_insensitive (path); | |
436 | - g_free (path); | |
437 | - image = fileio_load (module->file, &leng); | |
438 | - } | |
439 | - pidh = (PIMAGE_DOS_HEADER)image; | |
440 | - if (!image || leng < sizeof (IMAGE_DOS_HEADER) | |
441 | - || pidh->e_magic != IMAGE_DOS_SIGNATURE | |
442 | - || leng < pidh->e_lfanew + sizeof (DWORD) | |
443 | - + sizeof (IMAGE_FILE_HEADER) + sizeof (IMAGE_OPTIONAL_HEADER) | |
444 | - || *(LPDWORD)(image + pidh->e_lfanew) != IMAGE_NT_SIGNATURE) | |
445 | - { | |
446 | - g_free (image); | |
447 | - g_free (module->name); | |
448 | - g_free (module->file); | |
449 | - g_free (module); | |
450 | - return NULL; | |
451 | - } | |
452 | - pifh = (PIMAGE_FILE_HEADER)(image + pidh->e_lfanew + sizeof (DWORD)); | |
453 | - pioh = (PIMAGE_OPTIONAL_HEADER)(pifh + 1); | |
454 | - pish = (PIMAGE_SECTION_HEADER)(pioh + 1); | |
455 | - if (pifh->Machine != IMAGE_FILE_MACHINE_I386 | |
456 | - || pifh->SizeOfOptionalHeader != sizeof (IMAGE_OPTIONAL_HEADER) | |
457 | - || pioh->Magic != IMAGE_NT_OPTIONAL_HDR_MAGIC | |
458 | - || leng < pioh->SizeOfHeaders | |
459 | - || leng < pidh->e_lfanew + sizeof (DWORD) | |
460 | - + sizeof (IMAGE_FILE_HEADER) + sizeof (IMAGE_OPTIONAL_HEADER) | |
461 | - + sizeof (IMAGE_SECTION_HEADER) * pifh->NumberOfSections) | |
462 | - { | |
463 | - g_free (image); | |
464 | - g_free (module->name); | |
465 | - g_free (module->file); | |
466 | - g_free (module); | |
467 | - return NULL; | |
468 | - } | |
469 | - /* ja:イメージ作成 */ | |
470 | - leng = pioh->SizeOfImage; | |
471 | - for (i = 0; i < pifh->NumberOfSections; i++) | |
472 | - if (leng < pish[i].VirtualAddress | |
473 | - + MAX (pish[i].Misc.VirtualSize, pish[i].SizeOfRawData)) | |
474 | - leng = pish[i].VirtualAddress | |
475 | - + MAX (pish[i].Misc.VirtualSize, pish[i].SizeOfRawData); | |
476 | - module = g_realloc (module, leng + sizeof (W32LdrModule)); | |
477 | - g_memset (module + 1, 0, leng); | |
478 | - g_memmove (module + 1, image, pioh->SizeOfHeaders); | |
479 | - for (i = 0; i < pifh->NumberOfSections; i++) | |
480 | - g_memmove ((guint8 *)(module + 1) + pish[i].VirtualAddress, | |
481 | - image + pish[i].PointerToRawData, pish[i].SizeOfRawData); | |
482 | - g_free (image); | |
483 | - image = (guint8 *)(module + 1); | |
484 | - pifh = (PIMAGE_FILE_HEADER) | |
485 | - (image + ((PIMAGE_DOS_HEADER)image)->e_lfanew + sizeof (DWORD)); | |
486 | - pioh = (PIMAGE_OPTIONAL_HEADER)(pifh + 1); | |
487 | - pish = (PIMAGE_SECTION_HEADER)(pioh + 1); | |
488 | - | |
489 | - /* ja:エクスポート */ | |
490 | - if (pioh->DataDirectory[IMAGE_DIRECTORY_ENTRY_EXPORT].Size) | |
491 | - { | |
492 | - LPDWORD func, name; | |
493 | - LPWORD ordinal; | |
494 | - PIMAGE_EXPORT_DIRECTORY pied; | |
495 | - | |
496 | - pied = (PIMAGE_EXPORT_DIRECTORY)(image | |
497 | - + pioh->DataDirectory[IMAGE_DIRECTORY_ENTRY_EXPORT].VirtualAddress); | |
498 | - func = (LPDWORD)(image + pied->AddressOfFunctions); | |
499 | - name = (LPDWORD)(image + pied->AddressOfNames); | |
500 | - ordinal = (LPWORD)(image + pied->AddressOfNameOrdinals); | |
501 | - module->exports = g_hash_table_new (g_str_hash, g_str_equal); | |
502 | - module->ordinals = g_hash_table_new (g_direct_hash, g_direct_equal); | |
503 | - for (i = 0; i < pied->NumberOfNames; i++) | |
504 | - g_hash_table_insert (module->exports, | |
505 | - image + name[i], image + func[ordinal[i]]); | |
506 | - for (i = 0; i < pied->NumberOfFunctions; i++) | |
507 | - g_hash_table_insert (module->ordinals, | |
508 | - GUINT_TO_POINTER (i + pied->Base), image + func[i]); | |
509 | - } | |
510 | -#ifdef USE_THREAD | |
511 | - G_LOCK (critical); | |
512 | - critical = TRUE; | |
513 | -#endif /* USE_THREAD */ | |
514 | - glist_module = g_list_append (glist_module, module); | |
515 | -#ifdef USE_THREAD | |
516 | - critical = FALSE; | |
517 | - G_UNLOCK (critical); | |
518 | -#endif /* USE_THREAD */ | |
519 | - | |
520 | - /* ja:インポート */ | |
521 | - if (pioh->DataDirectory[IMAGE_DIRECTORY_ENTRY_IMPORT].Size) | |
522 | - { | |
523 | - PIMAGE_IMPORT_DESCRIPTOR piid; | |
524 | - | |
525 | - piid = (PIMAGE_IMPORT_DESCRIPTOR)(image | |
526 | - + pioh->DataDirectory[IMAGE_DIRECTORY_ENTRY_IMPORT].VirtualAddress); | |
527 | - for (i = 0; piid[i].Name; i++) | |
528 | - { | |
529 | - W32LdrModule *mod; | |
530 | - | |
531 | - mod = w32ldr_module_load_library ((gchar *)(image + piid[i].Name), | |
532 | - TRUE); | |
533 | - if (mod) | |
534 | - { | |
535 | - gint j; | |
536 | - PIMAGE_THUNK_DATA piat, pilt; | |
537 | - | |
538 | - piat = (PIMAGE_THUNK_DATA)(image | |
539 | - + (piid[i].DUMMYUNIONNAME.OriginalFirstThunk | |
540 | - ? piid[i].DUMMYUNIONNAME.OriginalFirstThunk | |
541 | - : piid[i].FirstThunk)); | |
542 | - pilt = (PIMAGE_THUNK_DATA)(image + piid[i].FirstThunk); | |
543 | - for (j = 0; piat[j].u1.AddressOfData; j++) | |
241 | + else | |
544 | 242 | { |
545 | - gpointer func; | |
546 | - WORD ordinal; | |
547 | - PIMAGE_IMPORT_BY_NAME piibn; | |
548 | 243 | #ifdef USE_DEBUG |
549 | - const static gchar *fmt = "%s\n"; | |
550 | - gchar *str; | |
551 | - gsize leng; | |
552 | - guint8 *opcode, *p; | |
553 | -#endif /* USE_DEBUG */ | |
244 | + const static gchar *fmt = "%s,%s\n"; | |
554 | 245 | |
555 | - ordinal = piat[j].u1.Ordinal & ~IMAGE_ORDINAL_FLAG; | |
556 | - piibn = (PIMAGE_IMPORT_BY_NAME) | |
557 | - (image + piat[j].u1.AddressOfData); | |
558 | - func = piat[j].u1.Ordinal & IMAGE_ORDINAL_FLAG | |
559 | - ? w32ldr_module_get_proc (mod, ordinal) | |
560 | - : w32ldr_module_get_func (mod, (gchar *)piibn->Name); | |
561 | -#ifdef USE_DEBUG | |
562 | - str = piat[j].u1.Ordinal & IMAGE_ORDINAL_FLAG | |
563 | - ? g_strdup_printf ("%s,%d", image + piid[i].Name, ordinal) | |
564 | - : g_strdup_printf ("%s,%s", image + piid[i].Name, | |
565 | - piibn->Name); | |
566 | - | |
567 | -#endif /* USE_DEBUG */ | |
568 | - if (!func) | |
569 | - { | |
570 | - const static guint8 ret_code = 0xc3; | |
571 | - | |
572 | -#ifdef USE_DEBUG | |
573 | - g_warning ("import-function:%s\n", str); | |
574 | -#endif /* USE_DEBUG */ | |
575 | - func = (gpointer)&ret_code; | |
576 | - result = FALSE; | |
577 | - } | |
578 | -#ifdef USE_DEBUG | |
579 | - leng = g_strlen (str) + 1; | |
580 | - p = opcode = g_malloc (leng + 26); | |
581 | 246 | *p++ = 0x60; |
582 | - *p++ = 0xe8; | |
583 | - *(guint32 *)p = leng; | |
247 | + *p++ = 0x68; | |
248 | + *(guint32 *)p = GPOINTER_TO_UINT (q); | |
584 | 249 | p += 4; |
585 | - g_strcpy ((gchar *)p, str); | |
586 | - p += leng; | |
587 | 250 | *p++ = 0x68; |
251 | + *(guint32 *)p = GPOINTER_TO_UINT (r); | |
252 | + p += 4; | |
253 | + *p++ = 0x68; | |
588 | 254 | *(guint32 *)p = GPOINTER_TO_UINT (fmt); |
589 | 255 | p += 4; |
590 | 256 | *p++ = 0xe8; |
@@ -593,393 +259,121 @@ | ||
593 | 259 | p += 4; |
594 | 260 | *p++ = 0x83; |
595 | 261 | *p++ = 0xc4; |
596 | - *p++ = 0x08; | |
262 | + *p++ = 0x0c; | |
597 | 263 | *p++ = 0x61; |
264 | +#endif /* USE_DEBUG */ | |
598 | 265 | *p++ = 0xe9; |
599 | - *(guint32 *)p = GPOINTER_TO_UINT (func) | |
600 | - - (GPOINTER_TO_INT (p) + 4); | |
601 | - pilt[j].u1.Function = GPOINTER_TO_UINT (opcode); | |
602 | - g_free (str); | |
603 | -#else /* not USE_DEBUG */ | |
604 | - pilt[j].u1.Function = GPOINTER_TO_UINT (func); | |
605 | -#endif /* not USE_DEBUG */ | |
266 | + *(guint32 *)p = GPOINTER_TO_UINT (osdll[i].exports[j].func) | |
267 | + - (GPOINTER_TO_UINT (p) + 4); | |
268 | + p += 4; | |
606 | 269 | } |
607 | - module->glist = g_list_append (module->glist, mod); | |
270 | + if (osdll[i].exports[j].name) | |
271 | + { | |
272 | + *lpdwName = GPOINTER_TO_UINT (q) - GPOINTER_TO_UINT (image); | |
273 | + g_strcpy (q, osdll[i].exports[j].name); | |
274 | + q += g_strlen (osdll[i].exports[j].name) + 1; | |
275 | + *lpwOrdinal = index; | |
276 | + lpdwName++; | |
277 | + lpwOrdinal++; | |
278 | + } | |
608 | 279 | } |
609 | - else | |
610 | - { | |
611 | -#ifdef USE_DEBUG | |
612 | - g_warning ("import-module:%s\n", image + piid[i].Name); | |
613 | -#endif /* USE_DEBUG */ | |
614 | - result = FALSE; | |
615 | - } | |
616 | - } | |
617 | - } | |
618 | - if (!result) | |
619 | - { | |
620 | - w32ldr_module_free (module); | |
621 | - return NULL; | |
622 | - } | |
623 | - | |
624 | - /* ja:リソース */ | |
625 | - if (pioh->DataDirectory[IMAGE_DIRECTORY_ENTRY_RESOURCE].Size) | |
626 | - { | |
627 | - PIMAGE_RESOURCE_DIRECTORY pird; | |
628 | - | |
629 | - pird = (PIMAGE_RESOURCE_DIRECTORY)(image | |
630 | - + pioh->DataDirectory[IMAGE_DIRECTORY_ENTRY_RESOURCE].VirtualAddress); | |
631 | - module->resource = g_hash_table_new (g_str_hash, g_str_equal); | |
632 | - w32ldr_module_resource_directory (module, pird, ""); | |
633 | - } | |
634 | - | |
635 | - /* ja:再配置 */ | |
636 | - if (pioh->DataDirectory[IMAGE_DIRECTORY_ENTRY_BASERELOC].Size) | |
637 | - { | |
638 | - gint delta; | |
639 | - PIMAGE_BASE_RELOCATION pibr; | |
640 | - | |
641 | - pibr = (PIMAGE_BASE_RELOCATION)(image | |
642 | - + pioh->DataDirectory[IMAGE_DIRECTORY_ENTRY_BASERELOC].VirtualAddress); | |
643 | - delta = GPOINTER_TO_UINT (image) - pioh->ImageBase; | |
644 | - while (pibr->VirtualAddress) | |
645 | - { | |
646 | - gint count; | |
647 | - | |
648 | - count = (pibr->SizeOfBlock - sizeof (DWORD) * 2) / sizeof (WORD); | |
649 | - for (i = 0; i < count; i++) | |
650 | - if (((pibr->TypeOffset[i] >> 12) & 0xf) == IMAGE_REL_BASED_HIGHLOW) | |
651 | - *(LPDWORD)(image + pibr->VirtualAddress | |
652 | - + (pibr->TypeOffset[i] & 0xfff)) += delta; | |
653 | - pibr = (PIMAGE_BASE_RELOCATION) | |
654 | - (((guint8 *)pibr) + pibr->SizeOfBlock); | |
655 | - } | |
656 | - } | |
657 | - | |
658 | - if (exec && (pifh->Characteristics & IMAGE_FILE_DLL)) | |
659 | - { | |
660 | - module->DllMain = w32ldr_module_get_func (module, "DllMain"); | |
661 | - if (!module->DllMain && pioh->SizeOfHeaders < pioh->AddressOfEntryPoint | |
662 | - && pioh->AddressOfEntryPoint < leng) | |
663 | - module->DllMain = (DllEntryProc)(image + pioh->AddressOfEntryPoint); | |
664 | - if (module->DllMain) | |
665 | - module->DllMain ((W32LdrModule *)(module + 1), | |
666 | - DLL_PROCESS_ATTACH, NULL); | |
667 | - } | |
668 | - return module; | |
280 | + break; | |
281 | + } | |
282 | + return image; | |
669 | 283 | } |
670 | 284 | |
671 | 285 | |
672 | -static void | |
673 | -g_hash_table_callback (gpointer key, | |
674 | - gpointer value, | |
675 | - gpointer hash) | |
286 | +/* ja:再配置の差を求める | |
287 | + process,プロセス | |
288 | + image,PEイメージ | |
289 | + user_data,ユーザデータ | |
290 | + RET,差 */ | |
291 | +static gint | |
292 | +w32ldr_module_callback_relocale (PeProcess *process, | |
293 | + const guint8 *image, | |
294 | + gpointer user_data) | |
676 | 295 | { |
677 | - gpointer orig_key, orig_value; | |
678 | - | |
679 | - if (g_hash_table_lookup_extended ((GHashTable*)hash, key, | |
680 | - &orig_key, &orig_value)) | |
681 | - { | |
682 | - g_free (orig_key); | |
683 | - g_free (orig_value); | |
684 | - } | |
296 | + return GPOINTER_TO_UINT (image) - pe_ioh_get_image_base (image); | |
685 | 297 | } |
686 | 298 | |
687 | 299 | |
688 | -/* ja:モジュールを解放する | |
689 | - module,モジュール | |
690 | - RET,TRUE:正常終了,NULL:エラー */ | |
691 | -gboolean | |
692 | -w32ldr_module_free (W32LdrModule *module) | |
300 | +/* ja:DllMainを呼び出す | |
301 | + process,プロセス | |
302 | + image,PEイメージ | |
303 | + reason,TRUE:ロード,FALSE:解放 | |
304 | + user_data,ユーザデータ | |
305 | + RET,DllMainの返値 */ | |
306 | +static gboolean | |
307 | +w32ldr_module_callback_entry (PeProcess *process, | |
308 | + const guint8 *image, | |
309 | + const gboolean reason, | |
310 | + gpointer user_data) | |
693 | 311 | { |
694 | - gboolean result; | |
312 | + if (pe_ifh_get_characteristics (image) & IMAGE_FILE_DLL) | |
313 | + { | |
314 | + DllEntryProc DllMain; | |
695 | 315 | |
696 | -#ifdef USE_THREAD | |
697 | - G_LOCK (critical); | |
698 | - critical = TRUE; | |
699 | -#endif /* USE_THREAD */ | |
700 | - result = module && g_list_find (glist_module, module); | |
701 | -#ifdef USE_THREAD | |
702 | - critical = FALSE; | |
703 | - G_UNLOCK (critical); | |
704 | -#endif /* USE_THREAD */ | |
705 | - if (!result) | |
706 | - return FALSE; | |
707 | - module->counter--; | |
708 | - if (module->counter <= 0) | |
709 | - { | |
710 | - if (module->DllMain) | |
711 | - module->DllMain ((W32LdrModule *)(module + 1), | |
712 | - DLL_PROCESS_DETACH, NULL); | |
713 | -#ifdef USE_THREAD | |
714 | - G_LOCK (critical); | |
715 | - critical = TRUE; | |
716 | -#endif /* USE_THREAD */ | |
717 | - glist_module = g_list_remove (glist_module, module); | |
718 | -#ifdef USE_THREAD | |
719 | - critical = FALSE; | |
720 | - G_UNLOCK (critical); | |
721 | -#endif /* USE_THREAD */ | |
722 | - for (module->glist = g_list_first (module->glist); module->glist; | |
723 | - module->glist = g_list_delete_link (module->glist, module->glist)) | |
724 | - if (!w32ldr_module_free (module->glist->data)) | |
725 | - result = FALSE; | |
726 | - if (module->resource) | |
727 | - { | |
728 | - g_hash_table_foreach (module->resource, | |
729 | - g_hash_table_callback, module->resource); | |
730 | - g_hash_table_destroy (module->resource); | |
731 | - } | |
732 | - if (module->exports) | |
733 | - g_hash_table_destroy (module->exports); | |
734 | - if (module->ordinals) | |
735 | - g_hash_table_destroy (module->ordinals); | |
736 | - g_free (module->name); | |
737 | - g_free (module->file); | |
738 | - g_free (module); | |
316 | + DllMain = peimage_file_get_func (image, "DllMain"); | |
317 | + if (!DllMain && pe_ioh_get_size_of_headers (image) | |
318 | + < pe_ioh_get_address_of_entry_point (image) | |
319 | + && pe_ioh_get_address_of_entry_point (image) | |
320 | + < pe_ioh_get_size_of_image (image)) | |
321 | + DllMain = (DllEntryProc)(image | |
322 | + + pe_ioh_get_address_of_entry_point (image)); | |
323 | + if (DllMain) | |
324 | + return DllMain ((HANDLE)image, reason ? DLL_PROCESS_ATTACH | |
325 | + : DLL_PROCESS_DETACH, NULL); | |
739 | 326 | } |
740 | - return result; | |
327 | + return TRUE; | |
741 | 328 | } |
742 | 329 | |
743 | 330 | |
744 | -/* ja:モジュールからAPIを取得する | |
745 | - module,モジュール | |
746 | - name,API名 | |
747 | - RET,アドレス,NULL:エラー */ | |
331 | +/* ja:モジュールをロードする | |
332 | + file,モジュール名 | |
333 | + exec,TRUE:DllMainを実行する,FALSE:ロードのみ | |
334 | + RET,モジュール,NULL:エラー */ | |
748 | 335 | gpointer |
749 | -w32ldr_module_get_func (W32LdrModule *module, | |
750 | - const gchar *name) | |
336 | +w32ldr_module_load_library (const gchar *file, | |
337 | + const gboolean exec) | |
751 | 338 | { |
752 | - return module && module->exports | |
753 | - ? g_hash_table_lookup (module->exports, name) : NULL; | |
339 | + if (!process) | |
340 | + process = g_malloc0 (sizeof (PeProcess)); | |
341 | + return peimage_module_load_library (process, | |
342 | + file, | |
343 | + w32ldr_module_callback_system, | |
344 | + w32ldr_module_callback_relocale, | |
345 | + NULL, | |
346 | + exec ? w32ldr_module_callback_entry : NULL, | |
347 | + NULL); | |
754 | 348 | } |
755 | 349 | |
756 | 350 | |
757 | -/* ja:モジュールからAPIを取得する | |
758 | - module,モジュール | |
759 | - ordinal,オーディナル値 | |
760 | - RET,アドレス,NULL:エラー */ | |
761 | -gpointer | |
762 | -w32ldr_module_get_proc (W32LdrModule *module, | |
763 | - const guint16 ordinal) | |
351 | +/* ja:モジュールを解放する | |
352 | + memory,モジュール | |
353 | + RET,TRUE:正常終了,FALSE:エラー */ | |
354 | +gboolean | |
355 | +w32ldr_module_free (gpointer memory) | |
764 | 356 | { |
765 | - return module && module->ordinals ? g_hash_table_lookup (module->ordinals, | |
766 | - GUINT_TO_POINTER ((guint)ordinal)) : NULL; | |
357 | + if (!process) | |
358 | + process = g_malloc0 (sizeof (PeProcess)); | |
359 | + return peimage_module_free_library (process, memory, | |
360 | + w32ldr_module_callback_entry, NULL); | |
767 | 361 | } |
768 | 362 | |
769 | 363 | |
770 | -/* ja:モジュールからリソースを取得する | |
771 | - module,モジュール | |
772 | - key,リソース | |
773 | - RET,データ,NULL:エラー */ | |
774 | -gpointer | |
775 | -w32ldr_module_get_resource (W32LdrModule *module, | |
776 | - const gchar *key) | |
777 | -{ | |
778 | - return module && module->resource | |
779 | - ? g_hash_table_lookup (module->resource, key) : NULL; | |
780 | -} | |
781 | - | |
782 | - | |
783 | -/****************************************************************************** | |
784 | -* * | |
785 | -* ja:ディレクトリ関数群 * | |
786 | -* * | |
787 | -******************************************************************************/ | |
788 | -/* ja:ディレクトリを取得する | |
789 | - dir,ディレクトリの種類 | |
790 | - RET,ディレクトリ */ | |
364 | +/* ja:モジュールの名前を取得する | |
365 | + memory,モジュール | |
366 | + RET,名前,NULL:エラー */ | |
791 | 367 | const gchar * |
792 | -w32ldr_dir_get_path (const guint dir) | |
368 | +w32ldr_module_get_filename (gpointer memory) | |
793 | 369 | { |
794 | - gchar *file; | |
795 | - const gchar *key, *path = NULL; | |
796 | - const static gchar *dir_windows = NULL, *dir_system = NULL, *dir_temp = NULL; | |
797 | - const static gchar *dir_data = NULL, *dir_home = NULL; | |
798 | - gint i; | |
799 | - GKeyFile *key_file; | |
370 | + if (!process) | |
371 | + process = g_malloc0 (sizeof (PeProcess)); | |
372 | + return peimage_module_get_filename (process, memory); | |
800 | 373 | |
801 | - switch (dir) | |
802 | - { | |
803 | - case W32LDR_DIR_WINDOWS: if (dir_windows) return dir_windows; break; | |
804 | - case W32LDR_DIR_SYSTEM: if (dir_system) return dir_system; break; | |
805 | - case W32LDR_DIR_TEMP: if (dir_temp) return dir_temp; break; | |
806 | - case W32LDR_DIR_DATA: if (dir_data) return dir_data; break; | |
807 | - case W32LDR_DIR_HOME: if (dir_home) return dir_home; | |
808 | - } | |
809 | - for (i = 0; i < 2 && !path; i++) | |
810 | - { | |
811 | - switch (dir) | |
812 | - { | |
813 | - case W32LDR_DIR_WINDOWS: | |
814 | - file = w32ldr_dir_get_filename ("system.ini", | |
815 | - i == 0 ? W32LDR_DIR_HOME : W32LDR_DIR_DATA); | |
816 | - key = "windows"; | |
817 | - break; | |
818 | - case W32LDR_DIR_SYSTEM: | |
819 | - file = w32ldr_dir_get_filename ("system.ini", | |
820 | - i == 0 ? W32LDR_DIR_HOME : W32LDR_DIR_DATA); | |
821 | - key = "system"; | |
822 | - break; | |
823 | - case W32LDR_DIR_TEMP: | |
824 | - file = w32ldr_dir_get_filename ("system.ini", | |
825 | - i == 0 ? W32LDR_DIR_HOME : W32LDR_DIR_DATA); | |
826 | - key = "temp"; | |
827 | - break; | |
828 | - case W32LDR_DIR_DATA: | |
829 | - if (i == 0) | |
830 | - { | |
831 | - file = g_build_filename (g_get_home_dir (), | |
832 | - ".maid.org", "w32ldr", "system.ini", NULL); | |
833 | - key = "data"; | |
834 | - break; | |
835 | - } | |
836 | - default: | |
837 | - file = NULL; | |
838 | - key = NULL; | |
839 | - } | |
840 | - if (file && key) | |
841 | - { | |
842 | - gchar *tmp, *utf8str; | |
843 | - | |
844 | - key_file = g_key_file_new (); | |
845 | - tmp = w32ldr_dir_get_case_insensitive (file); | |
846 | - g_key_file_load_from_file (key_file, tmp, G_KEY_FILE_NONE, NULL); | |
847 | - g_free (tmp); | |
848 | - utf8str = g_key_file_get_string (key_file, "directory", key, NULL); | |
849 | - g_key_file_free (key_file); | |
850 | - if (utf8str) | |
851 | - { | |
852 | - path = g_filename_from_utf8 (utf8str, -1, NULL, NULL, NULL); | |
853 | - g_free (utf8str); | |
854 | - } | |
855 | - } | |
856 | - g_free (file); | |
857 | - } | |
858 | - switch (dir) | |
859 | - { | |
860 | - case W32LDR_DIR_WINDOWS: | |
861 | - return dir_windows = path ? path | |
862 | -#ifdef BINDIR | |
863 | - : g_build_filename (BINDIR, "w32ldr", NULL); | |
864 | -#else /* not BINDIR */ | |
865 | - : "/usr/local/bin/w32ldr"; | |
866 | -#endif /* not BINDIR */ | |
867 | - case W32LDR_DIR_SYSTEM: | |
868 | - return dir_system = path ? path | |
869 | -#ifdef LIBDIR | |
870 | - : g_build_filename (LIBDIR, "w32ldr", NULL); | |
871 | -#else /* not LIBDIR */ | |
872 | - : "/usr/local/lib/w32ldr"; | |
873 | -#endif /* not LIBDIR */ | |
874 | - case W32LDR_DIR_TEMP: | |
875 | - return dir_temp = path ? path : g_get_tmp_dir (); | |
876 | - case W32LDR_DIR_DATA: | |
877 | - return dir_data = path ? path | |
878 | -#ifdef SYSCONFDIR | |
879 | - : g_build_filename (SYSCONFDIR, "w32ldr", NULL); | |
880 | -#else /* not SYSCONFDIR */ | |
881 | - : "/usr/local/etc/w32ldr"; | |
882 | -#endif /* not SYSCONFDIR */ | |
883 | - case W32LDR_DIR_HOME: | |
884 | - if (!dir_home) | |
885 | - dir_home = g_build_filename (g_get_home_dir (), | |
886 | - ".maid.org", "w32ldr", NULL); | |
887 | - return dir_home; | |
888 | - } | |
889 | - return NULL; | |
890 | 374 | } |
891 | 375 | |
892 | 376 | |
893 | -/* ja:大文字小文字を区別しないパス名を求める | |
894 | - path,ファイル名 | |
895 | - RET,大文字小文字を区別しないパス名 */ | |
896 | -gchar * | |
897 | -w32ldr_dir_get_case_insensitive (const gchar *path) | |
898 | -{ | |
899 | - gchar **element, *file = NULL; | |
900 | - gint i; | |
901 | - | |
902 | - if (!path) | |
903 | - return NULL; | |
904 | - if (path[0] == '\0') | |
905 | - return g_malloc0 (sizeof (gchar)); | |
906 | - element = g_strsplit (path, G_DIR_SEPARATOR_S, 0); | |
907 | - for (i = 0; element[i]; i++) | |
908 | - if ((element[i])[0] == '\0') | |
909 | - { | |
910 | - if (!file) | |
911 | - file = g_strdup (G_DIR_SEPARATOR_S); | |
912 | - } | |
913 | - else | |
914 | - { | |
915 | - gchar *tmp; | |
916 | - | |
917 | - tmp = file ? g_build_filename (file, element[i], NULL) | |
918 | - : g_strdup (element[i]); | |
919 | - if (g_file_test (tmp, G_FILE_TEST_EXISTS)) | |
920 | - { | |
921 | - g_free (file); | |
922 | - file = tmp; | |
923 | - } | |
924 | - else | |
925 | - { | |
926 | - const gchar *name; | |
927 | - GDir *dir; | |
928 | - | |
929 | - g_free (tmp); | |
930 | - tmp = NULL; | |
931 | - dir = g_dir_open (file ? file : ".", 0, NULL); | |
932 | - while ((name = g_dir_read_name (dir))) | |
933 | - if (g_ascii_strcasecmp (element[i], name) == 0) | |
934 | - { | |
935 | - tmp = file ? g_build_filename (file, name, NULL) | |
936 | - : g_strdup (name); | |
937 | - break; | |
938 | - } | |
939 | - g_dir_close (dir); | |
940 | - if (!tmp) | |
941 | - { | |
942 | - while (element[i]) | |
943 | - { | |
944 | - if ((element[i])[0] != '\0') | |
945 | - { | |
946 | - tmp = file ? g_build_filename (file, element[i], NULL) | |
947 | - : g_strdup (element[i]); | |
948 | - g_free (file); | |
949 | - file = tmp; | |
950 | - } | |
951 | - i++; | |
952 | - } | |
953 | - break; | |
954 | - } | |
955 | - g_free (file); | |
956 | - file = tmp; | |
957 | - } | |
958 | - } | |
959 | - g_strfreev (element); | |
960 | - return file; | |
961 | -} | |
962 | - | |
963 | - | |
964 | -/* ja:特定のディレクトリのファイルを取得する | |
965 | - file,元のファイル名 | |
966 | - dir,ディレクトリの種類 | |
967 | - RET,ファイル */ | |
968 | -gchar * | |
969 | -w32ldr_dir_get_filename (const gchar *file, | |
970 | - const guint dir) | |
971 | -{ | |
972 | - gchar *name, *tmp, *result; | |
973 | - | |
974 | - name = g_path_get_basename (file); | |
975 | - tmp = g_build_filename (w32ldr_dir_get_path (dir), name, NULL); | |
976 | - g_free (name); | |
977 | - result = w32ldr_dir_get_case_insensitive (tmp); | |
978 | - g_free (tmp); | |
979 | - return result; | |
980 | -} | |
981 | - | |
982 | - | |
983 | 377 | /****************************************************************************** |
984 | 378 | * * |
985 | 379 | * ja:文字列関数群 * |
@@ -1067,7 +461,7 @@ | ||
1067 | 461 | (g_strlen (utf8str) - 1) * sizeof (gchar)); |
1068 | 462 | str = g_filename_from_utf8 (utf8str, -1, NULL, NULL, NULL); |
1069 | 463 | g_free (utf8str); |
1070 | - file = w32ldr_dir_get_case_insensitive (str); | |
464 | + file = peimage_dir_get_case_insensitive (str); | |
1071 | 465 | g_free (str); |
1072 | 466 | return file; |
1073 | 467 | } |
@@ -1137,7 +531,7 @@ | ||
1137 | 531 | (g_strlen (utf8str) - 1) * sizeof (gchar)); |
1138 | 532 | str = g_filename_from_utf8 (utf8str, -1, NULL, NULL, NULL); |
1139 | 533 | g_free (utf8str); |
1140 | - file = w32ldr_dir_get_case_insensitive (str); | |
534 | + file = peimage_dir_get_case_insensitive (str); | |
1141 | 535 | g_free (str); |
1142 | 536 | return file; |
1143 | 537 | } |
@@ -1,6 +1,6 @@ | ||
1 | 1 | /* |
2 | 2 | w32loader |
3 | - copyright (c) 1998-2009 Kazuki IWAMOTO http://www.maid.org/ iwm@maid.org | |
3 | + copyright (c) 1998-2010 Kazuki Iwamoto http://www.maid.org/ iwm@maid.org | |
4 | 4 | |
5 | 5 | This program is free software: you can redistribute it and/or modify |
6 | 6 | it under the terms of the GNU General Public License as published by |
@@ -6375,736 +6375,736 @@ | ||
6375 | 6375 | } |
6376 | 6376 | |
6377 | 6377 | |
6378 | -W32LdrExport msvcrt_exports[] = { | |
6379 | -{TRUE, 15, "??2@YAPAXI@Z", msvcrt_new}, | |
6380 | -{TRUE, 16, "??3@YAXPAX@Z", msvcrt_delete}, | |
6381 | -{FALSE, 52, "_CIacos", msvcrt_CIacos}, | |
6382 | -{FALSE, 53, "_CIasin", msvcrt_CIasin}, | |
6383 | -{FALSE, 54, "_CIatan", msvcrt_CIatan}, | |
6384 | -{FALSE, 55, "_CIatan2", msvcrt_CIatan2}, | |
6385 | -{FALSE, 56, "_CIcos", msvcrt_CIcos}, | |
6386 | -{FALSE, 57, "_CIcosh", msvcrt_CIcosh}, | |
6387 | -{FALSE, 58, "_CIexp", msvcrt_CIexp}, | |
6388 | -{FALSE, 59, "_CIfmod", msvcrt_CIfmod}, | |
6389 | -{FALSE, 60, "_CIlog", msvcrt_CIlog}, | |
6390 | -{FALSE, 61, "_CIlog10", msvcrt_CIlog10}, | |
6391 | -{FALSE, 62, "_CIpow", msvcrt_CIpow}, | |
6392 | -{FALSE, 63, "_CIsin", msvcrt_CIsin}, | |
6393 | -{FALSE, 64, "_CIsinh", msvcrt_CIsinh}, | |
6394 | -{FALSE, 65, "_CIsqrt", msvcrt_CIsqrt}, | |
6395 | -{FALSE, 66, "_CItan", msvcrt_CItan}, | |
6396 | -{FALSE, 67, "_CItanh", msvcrt_CItanh}, | |
6397 | -{FALSE, 68, "_CxxThrowException", msvcrt_CxxThrowException}, | |
6398 | -{TRUE, 69, "_EH_prolog", msvcrt_EH_prolog}, | |
6399 | -{FALSE, 70, "_Getdays", msvcrt_Getdays}, | |
6400 | -{FALSE, 71, "_Getmonths", msvcrt_Getmonths}, | |
6401 | -{FALSE, 72, "_Gettnames", msvcrt_Gettnames}, | |
6402 | -{FALSE, 73, "_HUGE", msvcrt_HUGE}, | |
6403 | -{FALSE, 74, "_Strftime", msvcrt_Strftime}, | |
6404 | -{FALSE, 75, "_XcptFilter", msvcrt_XcptFilter}, | |
6405 | -{TRUE, 76, "__CxxFrameHandler", msvcrt_CxxFrameHandler}, | |
6406 | -{FALSE, 77, "__CxxLongjmpUnwind", msvcrt_CxxLongjmpUnwind}, | |
6407 | -{FALSE, 78, "__RTCastToVoid", msvcrt_RTCastToVoid}, | |
6408 | -{FALSE, 79, "__RTDynamicCast", msvcrt_RTDynamicCast}, | |
6409 | -{FALSE, 80, "__RTtypeid", msvcrt_RTtypeid}, | |
6410 | -{FALSE, 81, "__STRINGTOLD", msvcrt_STRINGTOLD}, | |
6411 | -{FALSE, 82, "__argc", msvcrt_argc}, | |
6412 | -{FALSE, 83, "__argv", msvcrt_argv}, | |
6413 | -{FALSE, 84, "__badioinfo", msvcrt_badioinfo}, | |
6414 | -{FALSE, 85, "__crtCompareStringA", msvcrt_crtCompareStringA}, | |
6415 | -{FALSE, 86, "__crtGetLocaleInfoW", msvcrt_crtGetLocaleInfoW}, | |
6416 | -{FALSE, 87, "__crtLCMapStringA", msvcrt_crtLCMapStringA}, | |
6417 | -{TRUE, 88, "__dllonexit", msvcrt_dllonexit}, | |
6418 | -{FALSE, 89, "__doserrno", msvcrt_doserrno}, | |
6419 | -{FALSE, 90, "__fpecode", msvcrt_fpecode}, | |
6420 | -{FALSE, 91, "__getmainargs", msvcrt_getmainargs}, | |
6421 | -{FALSE, 92, "__initenv", msvcrt_initenv}, | |
6422 | -{FALSE, 93, "__isascii", msvcrt_isascii}, | |
6423 | -{FALSE, 94, "__iscsym", __iscsym}, | |
6424 | -{FALSE, 95, "__iscsymf", __iscsymf}, | |
6425 | -{FALSE, 96, "__lc_codepage", msvcrt_lc_codepage}, | |
6426 | -{FALSE, 97, "__lc_collate_cp", msvcrt_lc_collate_cp}, | |
6427 | -{FALSE, 98, "__lc_handle", msvcrt_lc_handle}, | |
6428 | -{FALSE, 99, "__lconv_init", msvcrt_lconv_init}, | |
6429 | -{FALSE, 100, "__mb_cur_max", msvcrt_mb_cur_max}, | |
6430 | -{FALSE, 101, "__p___argc", msvcrt_p___argc}, | |
6431 | -{FALSE, 102, "__p___argv", msvcrt_p___argv}, | |
6432 | -{FALSE, 103, "__p___initenv", msvcrt_p___initenv}, | |
6433 | -{FALSE, 104, "__p___mb_cur_max", msvcrt_p___mb_cur_max}, | |
6434 | -{FALSE, 105, "__p___wargv", msvcrt_p___wargv}, | |
6435 | -{FALSE, 106, "__p___winitenv", msvcrt_p___winitenv}, | |
6436 | -{FALSE, 107, "__p__acmdln", msvcrt_p__acmdln}, | |
6437 | -{FALSE, 108, "__p__amblksiz", msvcrt_p__amblksiz}, | |
6438 | -{FALSE, 109, "__p__commode", msvcrt_p__commode}, | |
6439 | -{FALSE, 110, "__p__daylight", msvcrt_p__daylight}, | |
6440 | -{FALSE, 111, "__p__dstbias", msvcrt_p__dstbias}, | |
6441 | -{FALSE, 112, "__p__environ", msvcrt_p__environ}, | |
6442 | -{FALSE, 113, "__p__fileinfo", msvcrt_p__fileinfo}, | |
6443 | -{FALSE, 114, "__p__fmode", msvcrt_p__fmode}, | |
6444 | -{FALSE, 115, "__p__iob", msvcrt_p__iob}, | |
6445 | -{FALSE, 116, "__p__mbcasemap", msvcrt_p__mbcasemap}, | |
6446 | -{FALSE, 117, "__p__mbctype", msvcrt_p__mbctype}, | |
6447 | -{FALSE, 118, "__p__osver", msvcrt_p__osver}, | |
6448 | -{FALSE, 119, "__p__pctype", msvcrt_p__pctype}, | |
6449 | -{FALSE, 120, "__p__pgmptr", msvcrt_p__pgmptr}, | |
6450 | -{FALSE, 121, "__p__pwctype", msvcrt_p__pwctype}, | |
6451 | -{FALSE, 122, "__p__timezone", msvcrt_p__timezone}, | |
6452 | -{FALSE, 123, "__p__tzname", msvcrt_p__tzname}, | |
6453 | -{FALSE, 124, "__p__wcmdln", msvcrt_p__wcmdln}, | |
6454 | -{FALSE, 125, "__p__wenviron", msvcrt_p__wenviron}, | |
6455 | -{FALSE, 126, "__p__winmajor", msvcrt_p__winmajor}, | |
6456 | -{FALSE, 127, "__p__winminor", msvcrt_p__winminor}, | |
6457 | -{FALSE, 128, "__p__winver", msvcrt_p__winver}, | |
6458 | -{FALSE, 129, "__p__wpgmptr", msvcrt_p__wpgmptr}, | |
6459 | -{FALSE, 130, "__pioinfo", msvcrt_pioinfo}, | |
6460 | -{FALSE, 131, "__pxcptinfoptrs", msvcrt_pxcptinfoptrs}, | |
6461 | -{FALSE, 132, "__set_app_type", msvcrt_set_app_type}, | |
6462 | -{FALSE, 133, "__setlc_active", msvcrt_setlc_active}, | |
6463 | -{FALSE, 134, "__setusermatherr", msvcrt_setusermatherr}, | |
6464 | -{FALSE, 135, "__threadhandle", msvcrt_threadhandle}, | |
6465 | -{FALSE, 136, "__threadid", msvcrt_threadid}, | |
6466 | -{FALSE, 137, "__toascii", msvcrt__toascii}, | |
6467 | -{FALSE, 138, "__unDName", msvcrt_unDName}, | |
6468 | -{FALSE, 139, "__unDNameEx", msvcrt_unDNameEx}, | |
6469 | -{FALSE, 140, "__unguarded_readlc_active", msvcrt_unguarded_readlc_active}, | |
6470 | -{FALSE, 141, "__wargv", msvcrt_wargv}, | |
6471 | -{FALSE, 142, "__wgetmainargs", msvcrt_wgetmainargs}, | |
6472 | -{FALSE, 143, "__winitenv", msvcrt_winitenv}, | |
6473 | -{FALSE, 144, "_abnormal_termination", msvcrt_abnormal_termination}, | |
6474 | -{TRUE, 145, "_access", _access}, | |
6475 | -{FALSE, 146, "_acmdln", msvcrt_acmdln}, | |
6476 | -{FALSE, 147, "_adj_fdiv_m16i", msvcrt_adj_fdiv_m16i}, | |
6477 | -{FALSE, 148, "_adj_fdiv_m32", msvcrt_adj_fdiv_m32}, | |
6478 | -{FALSE, 149, "_adj_fdiv_m32i", msvcrt_adj_fdiv_m32i}, | |
6479 | -{FALSE, 150, "_adj_fdiv_m64", msvcrt_adj_fdiv_m64}, | |
6480 | -{FALSE, 151, "_adj_fdiv_r", msvcrt_adj_fdiv_r}, | |
6481 | -{FALSE, 152, "_adj_fdivr_m16i", msvcrt_adj_fdivr_m16i}, | |
6482 | -{FALSE, 153, "_adj_fdivr_m32", msvcrt_adj_fdivr_m32}, | |
6483 | -{FALSE, 154, "_adj_fdivr_m32i", msvcrt_adj_fdivr_m32i}, | |
6484 | -{FALSE, 155, "_adj_fdivr_m64", msvcrt_adj_fdivr_m64}, | |
6485 | -{FALSE, 156, "_adj_fpatan", msvcrt_adj_fpatan}, | |
6486 | -{FALSE, 157, "_adj_fprem", msvcrt_adj_fprem}, | |
6487 | -{FALSE, 158, "_adj_fprem1", msvcrt_adj_fprem1}, | |
6488 | -{FALSE, 159, "_adj_fptan", msvcrt_adj_fptan}, | |
6489 | -{TRUE, 160, "_adjust_fdiv", &msvcrt_adjust_fdiv}, | |
6490 | -{FALSE, 161, "_aexit_rtn", msvcrt_aexit_rtn}, | |
6491 | -{FALSE, 162, "_amsg_exit", msvcrt_amsg_exit}, | |
6492 | -{FALSE, 163, "_assert", msvcrt_assert}, | |
6493 | -{FALSE, 164, "_atodbl", msvcrt_atodbl}, | |
6494 | -{TRUE, 165, "_atoi64", _atoi64}, | |
6495 | -{FALSE, 166, "_atoldbl", msvcrt_atoldbl}, | |
6496 | -{FALSE, 167, "_beep", msvcrt_beep}, | |
6497 | -{TRUE, 168, "_beginthread", _beginthread}, | |
6498 | -{TRUE, 169, "_beginthreadex", _beginthreadex}, | |
6499 | -{FALSE, 170, "_c_exit", _c_exit}, | |
6500 | -{FALSE, 171, "_cabs", msvcrt_cabs}, | |
6501 | -{FALSE, 172, "_callnewh", msvcrt_callnewh}, | |
6502 | -{FALSE, 173, "_cexit", _cexit}, | |
6503 | -{TRUE, 174, "_cgets", _cgets}, | |
6504 | -{TRUE, 175, "_chdir", _chdir}, | |
6505 | -{TRUE, 176, "_chdrive", _chdrive}, | |
6506 | -{TRUE, 177, "_chgsign", _chgsign}, | |
6507 | -{FALSE, 178, "_chkesp", msvcrt_chkesp}, | |
6508 | -{TRUE, 179, "_chmod", _chmod}, | |
6509 | -{TRUE, 180, "_chsize", _chsize}, | |
6510 | -{TRUE, 181, "_clearfp", _clearfp}, | |
6511 | -{TRUE, 182, "_close", msvcrt_close}, | |
6512 | -{TRUE, 183, "_commit", _commit}, | |
6513 | -{FALSE, 184, "_commode", msvcrt_commode}, | |
6514 | -{TRUE, 185, "_control87", _control87}, | |
6515 | -{TRUE, 186, "_controlfp", _controlfp}, | |
6516 | -{TRUE, 187, "_copysign", msvcrt_copysign}, | |
6517 | -{TRUE, 188, "_cprintf", _cprintf}, | |
6518 | -{TRUE, 189, "_cputs", _cputs}, | |
6519 | -{TRUE, 190, "_creat", _creat}, | |
6520 | -{TRUE, 191, "_cscanf", _cscanf}, | |
6521 | -{FALSE, 192, "_ctime64", msvcrt_ctime64}, | |
6522 | -{FALSE, 193, "_ctype", msvcrt_ctype}, | |
6523 | -{TRUE, 194, "_cwait", _cwait}, | |
6524 | -{FALSE, 195, "_daylight", msvcrt_daylight}, | |
6525 | -{FALSE, 196, "_dstbias", msvcrt_dstbias}, | |
6526 | -{TRUE, 197, "_dup", msvcrt_dup}, | |
6527 | -{TRUE, 198, "_dup2", msvcrt_dup2}, | |
6528 | -{TRUE, 199, "_ecvt", msvcrt_ecvt}, | |
6529 | -{TRUE, 200, "_endthread", _endthread}, | |
6530 | -{TRUE, 201, "_endthreadex", _endthreadex}, | |
6531 | -{FALSE, 202, "_environ", msvcrt_environ}, | |
6532 | -{FALSE, 203, "_eof", _eof}, | |
6533 | -{FALSE, 204, "_errno", msvcrt_errno}, | |
6534 | -{FALSE, 205, "_except_handler2", msvcrt_except_handler2}, | |
6535 | -{TRUE, 206, "_except_handler3", msvcrt_except_handler3}, | |
6536 | -{TRUE, 207, "_execl", _execl}, | |
6537 | -{TRUE, 208, "_execle", _execle}, | |
6538 | -{TRUE, 209, "_execlp", _execlp}, | |
6539 | -{TRUE, 210, "_execlpe", _execlpe}, | |
6540 | -{TRUE, 211, "_execv", _execv}, | |
6541 | -{TRUE, 212, "_execve", _execve}, | |
6542 | -{TRUE, 213, "_execvp", _execvp}, | |
6543 | -{TRUE, 214, "_execvpe", _execvpe}, | |
6544 | -{TRUE, 215, "_exit", msvcrt__exit}, | |
6545 | -{FALSE, 216, "_expand", _expand}, | |
6546 | -{TRUE, 217, "_fcloseall", msvcrt_fcloseall}, | |
6547 | -{TRUE, 218, "_fcvt", msvcrt_fcvt}, | |
6548 | -{TRUE, 219, "_fdopen", _fdopen}, | |
6549 | -{TRUE, 220, "_fgetchar", _fgetchar}, | |
6550 | -{TRUE, 221, "_fgetwchar", _fgetwchar}, | |
6551 | -{FALSE, 222, "_filbuf", msvcrt_filbuf}, | |
6552 | -{FALSE, 223, "_fileinfo", msvcrt_fileinfo}, | |
6553 | -{TRUE, 224, "_filelength", _filelength}, | |
6554 | -{TRUE, 225, "_filelengthi64", _filelengthi64}, | |
6555 | -{TRUE, 226, "_fileno", msvcrt_fileno}, | |
6556 | -{FALSE, 227, "_findclose", _findclose}, | |
6557 | -{FALSE, 228, "_findfirst", _findfirst}, | |
6558 | -{FALSE, 229, "_findfirst64", _findfirst64}, | |
6559 | -{FALSE, 230, "_findfirsti64", _findfirsti64}, | |
6560 | -{FALSE, 231, "_findnext", _findnext}, | |
6561 | -{FALSE, 232, "_findnext64", _findnext64}, | |
6562 | -{FALSE, 233, "_findnexti64", _findnexti64}, | |
6563 | -{TRUE, 234, "_finite", msvcrt_finite}, | |
6564 | -{FALSE, 235, "_flsbuf", msvcrt_flsbuf}, | |
6565 | -{FALSE, 236, "_flushall", _flushall}, | |
6566 | -{FALSE, 237, "_fmode", msvcrt_fmode}, | |
6567 | -{FALSE, 238, "_fpclass", _fpclass}, | |
6568 | -{FALSE, 239, "_fpieee_flt", _fpieee_flt}, | |
6569 | -{FALSE, 240, "_fpreset", _fpreset}, | |
6570 | -{TRUE, 241, "_fputchar", _fputchar}, | |
6571 | -{TRUE, 242, "_fputwchar", _fputwchar}, | |
6572 | -{TRUE, 243, "_fsopen", _fsopen}, | |
6573 | -{TRUE, 244, "_fstat", _fstat}, | |
6574 | -{TRUE, 245, "_fstat64", _fstat64}, | |
6575 | -{TRUE, 246, "_fstati64", _fstati64}, | |
6576 | -{TRUE, 247, "_ftime", msvcrt_ftime}, | |
6577 | -{FALSE, 248, "_ftime64", msvcrt_ftime64}, | |
6578 | -{TRUE, 249, "_ftol", msvcrt_ftol}, | |
6579 | -{FALSE, 250, "_fullpath", _fullpath}, | |
6580 | -{FALSE, 251, "_futime", _futime}, | |
6581 | -{FALSE, 252, "_futime64", _futime64}, | |
6582 | -{FALSE, 253, "_gcvt", msvcrt_gcvt}, | |
6583 | -{FALSE, 254, "_get_heap_handle", msvcrt_get_heap_handle}, | |
6584 | -{FALSE, 255, "_get_osfhandle", _get_osfhandle}, | |
6585 | -{FALSE, 256, "_get_sbh_threshold", _get_sbh_threshold}, | |
6586 | -{FALSE, 257, "_getch", _getch}, | |
6587 | -{FALSE, 258, "_getche", _getche}, | |
6588 | -{FALSE, 259, "_getcwd", _getcwd}, | |
6589 | -{FALSE, 260, "_getdcwd", _getdcwd}, | |
6590 | -{FALSE, 261, "_getdiskfree", msvcrt_getdiskfree}, | |
6591 | -{FALSE, 262, "_getdllprocaddr", msvcrt_getdllprocaddr}, | |
6592 | -{FALSE, 263, "_getdrive", _getdrive}, | |
6593 | -{FALSE, 264, "_getdrives", msvcrt_getdrives}, | |
6594 | -{FALSE, 265, "_getmaxstdio", msvcrt_getmaxstdio}, | |
6595 | -{FALSE, 266, "_getmbcp", _getmbcp}, | |
6596 | -{FALSE, 267, "_getpid", msvcrt_getpid}, | |
6597 | -{FALSE, 268, "_getsystime", msvcrt_getsystime}, | |
6598 | -{FALSE, 269, "_getw", msvcrt_getw}, | |
6599 | -{FALSE, 270, "_getws", msvcrt_getws}, | |
6600 | -{FALSE, 271, "_global_unwind2", msvcrt_global_unwind2}, | |
6601 | -{FALSE, 272, "_gmtime64", msvcrt_gmtime64}, | |
6602 | -{FALSE, 273, "_heapadd", _heapadd}, | |
6603 | -{FALSE, 274, "_heapchk", _heapchk}, | |
6604 | -{FALSE, 275, "_heapmin", _heapmin}, | |
6605 | -{FALSE, 276, "_heapset", _heapset}, | |
6606 | -{FALSE, 277, "_heapused", _heapused}, | |
6607 | -{FALSE, 278, "_heapwalk", _heapwalk}, | |
6608 | -{FALSE, 279, "_hypot", msvcrt_hypot}, | |
6609 | -{TRUE, 280, "_i64toa", _i64toa}, | |
6610 | -{FALSE, 281, "_i64tow", _i64tow}, | |
6611 | -{TRUE, 282, "_initterm", msvcrt_initterm}, | |
6612 | -{FALSE, 283, "_inp", _inp}, | |
6613 | -{FALSE, 284, "_inpd", _inpd}, | |
6614 | -{FALSE, 285, "_inpw", _inpw}, | |
6615 | -{FALSE, 286, "_iob", msvcrt_iob}, | |
6616 | -{FALSE, 287, "_isatty", msvcrt_isatty}, | |
6617 | -{FALSE, 288, "_isctype", msvcrt_isctype}, | |
6618 | -{FALSE, 289, "_ismbbalnum", _ismbbalnum}, | |
6619 | -{FALSE, 290, "_ismbbalpha", _ismbbalpha}, | |
6620 | -{FALSE, 291, "_ismbbgraph", _ismbbgraph}, | |
6621 | -{FALSE, 292, "_ismbbkalnum", _ismbbkalnum}, | |
6622 | -{FALSE, 293, "_ismbbkana", _ismbbkana}, | |
6623 | -{FALSE, 294, "_ismbbkprint", _ismbbkprint}, | |
6624 | -{FALSE, 295, "_ismbbkpunct", _ismbbkpunct}, | |
6625 | -{FALSE, 296, "_ismbblead", _ismbblead}, | |
6626 | -{FALSE, 297, "_ismbbprint", _ismbbprint}, | |
6627 | -{FALSE, 298, "_ismbbpunct", _ismbbpunct}, | |
6628 | -{FALSE, 299, "_ismbbtrail", _ismbbtrail}, | |
6629 | -{FALSE, 300, "_ismbcalnum", _ismbcalnum}, | |
6630 | -{FALSE, 301, "_ismbcalpha", _ismbcalpha}, | |
6631 | -{FALSE, 302, "_ismbcdigit", _ismbcdigit}, | |
6632 | -{FALSE, 303, "_ismbcgraph", _ismbcgraph}, | |
6633 | -{FALSE, 304, "_ismbchira", _ismbchira}, | |
6634 | -{FALSE, 305, "_ismbckata", _ismbckata}, | |
6635 | -{FALSE, 306, "_ismbcl0", _ismbcl0}, | |
6636 | -{FALSE, 307, "_ismbcl1", _ismbcl1}, | |
6637 | -{FALSE, 308, "_ismbcl2", _ismbcl2}, | |
6638 | -{FALSE, 309, "_ismbclegal", _ismbclegal}, | |
6639 | -{FALSE, 310, "_ismbclower", _ismbclower}, | |
6640 | -{FALSE, 311, "_ismbcprint", _ismbcprint}, | |
6641 | -{FALSE, 312, "_ismbcpunct", _ismbcpunct}, | |
6642 | -{FALSE, 313, "_ismbcspace", _ismbcspace}, | |
6643 | -{FALSE, 314, "_ismbcsymbol", _ismbcsymbol}, | |
6644 | -{FALSE, 315, "_ismbcupper", _ismbcupper}, | |
6645 | -{TRUE, 316, "_ismbslead", _ismbslead}, | |
6646 | -{TRUE, 317, "_ismbstrail", _ismbstrail}, | |
6647 | -{FALSE, 318, "_isnan", msvcrt_isnan}, | |
6648 | -{FALSE, 319, "_itoa", _itoa}, | |
6649 | -{FALSE, 320, "_itow", _itow}, | |
6650 | -{FALSE, 321, "_j0", msvcrt_j0}, | |
6651 | -{FALSE, 322, "_j1", msvcrt_j1}, | |
6652 | -{FALSE, 323, "_jn", msvcrt_jn}, | |
6653 | -{FALSE, 324, "_kbhit", _kbhit}, | |
6654 | -{FALSE, 325, "_lfind", msvcrt_lfind}, | |
6655 | -{FALSE, 326, "_loaddll", msvcrt_loaddll}, | |
6656 | -{FALSE, 327, "_local_unwind2", msvcrt_local_unwind2}, | |
6657 | -{FALSE, 328, "_localtime64", msvcrt_localtime64}, | |
6658 | -{FALSE, 329, "_lock", msvcrt_lock}, | |
6659 | -{FALSE, 330, "_locking", _locking}, | |
6660 | -{FALSE, 331, "_logb", msvcrt_logb}, | |
6661 | -{FALSE, 332, "_longjmpex", msvcrt_longjmpex}, | |
6662 | -{FALSE, 333, "_lrotl", _lrotl}, | |
6663 | -{FALSE, 334, "_lrotr", _lrotr}, | |
6664 | -{FALSE, 335, "_lsearch", msvcrt_lsearch}, | |
6665 | -{FALSE, 336, "_lseek", msvcrt_lseek}, | |
6666 | -{FALSE, 337, "_lseeki64", msvcrt_lseeki64}, | |
6667 | -{FALSE, 338, "_ltoa", _ltoa}, | |
6668 | -{FALSE, 339, "_ltow", _ltow}, | |
6669 | -{FALSE, 340, "_makepath", _makepath}, | |
6670 | -{FALSE, 341, "_mbbtombc", _mbbtombc}, | |
6671 | -{FALSE, 342, "_mbbtype", _mbbtype}, | |
6672 | -{FALSE, 343, "_mbcasemap", _mbcasemap}, | |
6673 | -{FALSE, 344, "_mbccpy", _mbccpy}, | |
6674 | -{TRUE, 345, "_mbcjistojms", _mbcjistojms}, | |
6675 | -{TRUE, 346, "_mbcjmstojis", _mbcjmstojis}, | |
6676 | -{FALSE, 347, "_mbclen", _mbclen}, | |
6677 | -{FALSE, 348, "_mbctohira", _mbctohira}, | |
6678 | -{FALSE, 349, "_mbctokata", _mbctokata}, | |
6679 | -{FALSE, 350, "_mbctolower", _mbctolower}, | |
6680 | -{FALSE, 351, "_mbctombb", _mbctombb}, | |
6681 | -{FALSE, 352, "_mbctoupper", _mbctoupper}, | |
6682 | -{FALSE, 353, "_mbctype", _mbctype}, | |
6683 | -{FALSE, 354, "_mbsbtype", msvcrt_mbsbtype}, | |
6684 | -{FALSE, 355, "_mbscat", _mbscat}, | |
6685 | -{TRUE, 356, "_mbschr", _mbschr}, | |
6686 | -{TRUE, 357, "_mbscmp", _mbscmp}, | |
6687 | -{FALSE, 358, "_mbscoll", _mbscoll}, | |
6688 | -{FALSE, 359, "_mbscpy", _mbscpy}, | |
6689 | -{FALSE, 360, "_mbscspn", _mbscspn}, | |
6690 | -{TRUE, 361, "_mbsdec", _mbsdec}, | |
6691 | -{FALSE, 362, "_mbsdup", _mbsdup}, | |
6692 | -{TRUE, 363, "_mbsicmp", _mbsicmp}, | |
6693 | -{FALSE, 364, "_mbsicoll", _mbsicoll}, | |
6694 | -{TRUE, 365, "_mbsinc", _mbsinc}, | |
6695 | -{TRUE, 366, "_mbslen", _mbslen}, | |
6696 | -{TRUE, 367, "_mbslwr", _mbslwr}, | |
6697 | -{FALSE, 368, "_mbsnbcat", _mbsnbcat}, | |
6698 | -{FALSE, 369, "_mbsnbcmp", _mbsnbcmp}, | |
6699 | -{FALSE, 370, "_mbsnbcnt", _mbsnbcnt}, | |
6700 | -{FALSE, 371, "_mbsnbcoll", _mbsnbcoll}, | |
6701 | -{FALSE, 372, "_mbsnbcpy", _mbsnbcpy}, | |
6702 | -{FALSE, 373, "_mbsnbicmp", _mbsnbicmp}, | |
6703 | -{FALSE, 374, "_mbsnbicoll", _mbsnbicoll}, | |
6704 | -{FALSE, 375, "_mbsnbset", _mbsnbset}, | |
6705 | -{FALSE, 376, "_mbsncat", _mbsncat}, | |
6706 | -{FALSE, 377, "_mbsnccnt", _mbsnccnt}, | |
6707 | -{TRUE, 378, "_mbsncmp", _mbsncmp}, | |
6708 | -{FALSE, 379, "_mbsncoll", _mbsncoll}, | |
6709 | -{FALSE, 380, "_mbsncpy", _mbsncpy}, | |
6710 | -{FALSE, 381, "_mbsnextc", _mbsnextc}, | |
6711 | -{FALSE, 382, "_mbsnicmp", _mbsnicmp}, | |
6712 | -{FALSE, 383, "_mbsnicoll", _mbsnicoll}, | |
6713 | -{TRUE, 384, "_mbsninc", _mbsninc}, | |
6714 | -{FALSE, 385, "_mbsnset", _mbsnset}, | |
6715 | -{FALSE, 386, "_mbspbrk", _mbspbrk}, | |
6716 | -{TRUE, 387, "_mbsrchr", _mbsrchr}, | |
6717 | -{FALSE, 388, "_mbsrev", _mbsrev}, | |
6718 | -{FALSE, 389, "_mbsset", _mbsset}, | |
6719 | -{FALSE, 390, "_mbsspn", _mbsspn}, | |
6720 | -{FALSE, 391, "_mbsspnp", _mbsspnp}, | |
6721 | -{TRUE, 392, "_mbsstr", _mbsstr}, | |
6722 | -{FALSE, 393, "_mbstok", _mbstok}, | |
6723 | -{FALSE, 394, "_mbstrlen", _mbstrlen}, | |
6724 | -{TRUE, 395, "_mbsupr", _mbsupr}, | |
6725 | -{FALSE, 396, "_memccpy", msvcrt_memccpy}, | |
6726 | -{FALSE, 397, "_memicmp", _memicmp}, | |
6727 | -{TRUE, 398, "_mkdir", _mkdir}, | |
6728 | -{FALSE, 399, "_mktemp", _mktemp}, | |
6729 | -{FALSE, 400, "_mktime64", msvcrt_mktime64}, | |
6730 | -{FALSE, 401, "_msize", _msize}, | |
6731 | -{FALSE, 402, "_nextafter", msvcrt_nextafter}, | |
6732 | -{TRUE, 403, "_onexit", _onexit}, | |
6733 | -{FALSE, 404, "_open", _open}, | |
6734 | -{FALSE, 405, "_open_osfhandle", _open_osfhandle}, | |
6735 | -{FALSE, 406, "_osplatform", msvcrt_osplatform}, | |
6736 | -{FALSE, 407, "_osver", msvcrt_osver}, | |
6737 | -{FALSE, 408, "_outp", _outp}, | |
6738 | -{FALSE, 409, "_outpd", _outpd}, | |
6739 | -{FALSE, 410, "_outpw", _outpw}, | |
6740 | -{FALSE, 411, "_pclose", msvcrt_pclose}, | |
6741 | -{FALSE, 412, "_pctype", msvcrt_pctype}, | |
6742 | -{FALSE, 413, "_pgmptr", msvcrt_pgmptr}, | |
6743 | -{FALSE, 414, "_pipe", msvcrt_pipe}, | |
6744 | -{FALSE, 415, "_popen", _popen}, | |
6745 | -{FALSE, 416, "_purecall", msvcrt_purecall}, | |
6746 | -{FALSE, 417, "_putch", _putch}, | |
6747 | -{FALSE, 418, "_putenv", _putenv}, | |
6748 | -{FALSE, 419, "_putw", _putw}, | |
6749 | -{FALSE, 420, "_putws", _putws}, | |
6750 | -{FALSE, 421, "_pwctype", msvcrt_pwctype}, | |
6751 | -{FALSE, 422, "_read", msvcrt_read}, | |
6752 | -{FALSE, 423, "_rmdir", _rmdir}, | |
6753 | -{FALSE, 424, "_rmtmp", _rmtmp}, | |
6754 | -{FALSE, 425, "_rotl", _rotl}, | |
6755 | -{FALSE, 426, "_rotr", _rotr}, | |
6756 | -{FALSE, 427, "_safe_fdiv", msvcrt_safe_fdiv}, | |
6757 | -{FALSE, 428, "_safe_fdivr", msvcrt_safe_fdivr}, | |
6758 | -{FALSE, 429, "_safe_fprem", msvcrt_safe_fprem}, | |
6759 | -{FALSE, 430, "_safe_fprem1", msvcrt_safe_fprem1}, | |
6760 | -{FALSE, 431, "_scalb", msvcrt_scalb}, | |
6761 | -{FALSE, 432, "_searchenv", _searchenv}, | |
6762 | -{FALSE, 433, "_seh_longjmp_unwind", msvcrt_seh_longjmp_unwind}, | |
6763 | -{FALSE, 434, "_set_error_mode", msvcrt_set_error_mode}, | |
6764 | -{FALSE, 435, "_set_sbh_threshold", _set_sbh_threshold}, | |
6765 | -{FALSE, 436, "_seterrormode", msvcrt_seterrormode}, | |
6766 | -{FALSE, 437, "_setjmp", msvcrt_setjmp}, | |
6767 | -{FALSE, 438, "_setjmp3", msvcrt_setjmp3}, | |
6768 | -{FALSE, 439, "_setmaxstdio", _setmaxstdio}, | |
6769 | -{FALSE, 440, "_setmbcp", _setmbcp}, | |
6770 | -{FALSE, 441, "_setmode", _setmode}, | |
6771 | -{FALSE, 442, "_setsystime", msvcrt_setsystime}, | |
6772 | -{FALSE, 443, "_sleep", msvcrt_sleep}, | |
6773 | -{FALSE, 444, "_snprintf", msvcrt_snprintf}, | |
6774 | -{FALSE, 445, "_snwprintf", _snwprintf}, | |
6775 | -{FALSE, 446, "_sopen", _sopen}, | |
6776 | -{FALSE, 447, "_spawnl", _spawnl}, | |
6777 | -{FALSE, 448, "_spawnle", _spawnle}, | |
6778 | -{FALSE, 449, "_spawnlp", _spawnlp}, | |
6779 | -{FALSE, 450, "_spawnlpe", _spawnlpe}, | |
6780 | -{FALSE, 451, "_spawnv", _spawnv}, | |
6781 | -{FALSE, 452, "_spawnve", _spawnve}, | |
6782 | -{FALSE, 453, "_spawnvp", _spawnvp}, | |
6783 | -{FALSE, 454, "_spawnvpe", _spawnvpe}, | |
6784 | -{FALSE, 455, "_splitpath", _splitpath}, | |
6785 | -{FALSE, 456, "_stat", _stat}, | |
6786 | -{FALSE, 457, "_stat64", msvcrt_stat64}, | |
6787 | -{FALSE, 458, "_stati64", _stati64}, | |
6788 | -{FALSE, 459, "_statusfp", _statusfp}, | |
6789 | -{TRUE, 460, "_strcmpi", msvcrt_strcmpi}, | |
6790 | -{FALSE, 461, "_strdate", _strdate}, | |
6791 | -{FALSE, 462, "_strdup", msvcrt_strdup}, | |
6792 | -{FALSE, 463, "_strerror", _strerror}, | |
6793 | -{TRUE, 464, "_stricmp", _stricmp}, | |
6794 | -{FALSE, 465, "_stricoll", _stricoll}, | |
6795 | -{TRUE, 466, "_strlwr", _strlwr}, | |
6796 | -{FALSE, 467, "_strncoll", _strncoll}, | |
6797 | -{TRUE, 468, "_strnicmp", _strnicmp}, | |
6798 | -{FALSE, 469, "_strnicoll", _strnicoll}, | |
6799 | -{FALSE, 470, "_strnset", _strnset}, | |
6800 | -{TRUE, 471, "_strrev", _strrev}, | |
6801 | -{FALSE, 472, "_strset", _strset}, | |
6802 | -{FALSE, 473, "_strtime", _strtime}, | |
6803 | -{TRUE, 474, "_strupr", _strupr}, | |
6804 | -{FALSE, 475, "_swab", msvcrt_swab}, | |
6805 | -{FALSE, 476, "_sys_errlist", msvcrt_sys_errlist}, | |
6806 | -{FALSE, 477, "_sys_nerr", msvcrt_sys_nerr}, | |
6807 | -{FALSE, 478, "_tell", _tell}, | |
6808 | -{FALSE, 479, "_telli64", _telli64}, | |
6809 | -{FALSE, 480, "_tempnam", _tempnam}, | |
6810 | -{FALSE, 481, "_time64", msvcrt_time64}, | |
6811 | -{FALSE, 482, "_timezone", msvcrt_timezone}, | |
6812 | -{FALSE, 483, "_tolower", msvcrt__tolower}, | |
6813 | -{FALSE, 484, "_toupper", msvcrt__toupper}, | |
6814 | -{FALSE, 485, "_tzname", msvcrt_tzname}, | |
6815 | -{FALSE, 486, "_tzset", msvcrt_tzset}, | |
6816 | -{TRUE, 487, "_ui64toa", _ui64toa}, | |
6817 | -{FALSE, 488, "_ui64tow", _ui64tow}, | |
6818 | -{FALSE, 489, "_ultoa", _ultoa}, | |
6819 | -{FALSE, 490, "_ultow", _ultow}, | |
6820 | -{FALSE, 491, "_umask", msvcrt_umask}, | |
6821 | -{FALSE, 492, "_ungetch", _ungetch}, | |
6822 | -{TRUE, 493, "_unlink", _unlink}, | |
6823 | -{FALSE, 494, "_unloaddll", msvcrt_unloaddll}, | |
6824 | -{FALSE, 495, "_unlock", msvcrt_unlock}, | |
6825 | -{FALSE, 496, "_utime", _utime}, | |
6826 | -{FALSE, 497, "_utime64", msvcrt_utime64}, | |
6827 | -{FALSE, 498, "_vsnprintf", msvcrt_vsnprintf}, | |
6828 | -{FALSE, 499, "_vsnwprintf", _vsnwprintf}, | |
6829 | -{TRUE, 500, "_waccess", _waccess}, | |
6830 | -{FALSE, 501, "_wasctime", _wasctime}, | |
6831 | -{TRUE, 502, "_wchdir", _wchdir}, | |
6832 | -{TRUE, 503, "_wchmod", _wchmod}, | |
6833 | -{FALSE, 504, "_wcmdln", msvcrt_wcmdln}, | |
6834 | -{TRUE, 505, "_wcreat", _wcreat}, | |
6835 | -{FALSE, 506, "_wcsdup", _wcsdup}, | |
6836 | -{FALSE, 507, "_wcsicmp", _wcsicmp}, | |
6837 | -{FALSE, 508, "_wcsicoll", _wcsicoll}, | |
6838 | -{FALSE, 509, "_wcslwr", _wcslwr}, | |
6839 | -{FALSE, 510, "_wcsncoll", _wcsncoll}, | |
6840 | -{FALSE, 511, "_wcsnicmp", _wcsnicmp}, | |
6841 | -{FALSE, 512, "_wcsnicoll", _wcsnicoll}, | |
6842 | -{FALSE, 513, "_wcsnset", _wcsnset}, | |
6843 | -{TRUE, 514, "_wcsrev", _wcsrev}, | |
6844 | -{FALSE, 515, "_wcsset", _wcsset}, | |
6845 | -{FALSE, 516, "_wcsupr", _wcsupr}, | |
6846 | -{FALSE, 517, "_wctime", msvcrt_wctime}, | |
6847 | -{FALSE, 518, "_wctime64", msvcrt_wctime64}, | |
6848 | -{FALSE, 519, "_wenviron", msvcrt_wenviron}, | |
6849 | -{TRUE, 520, "_wexecl", _wexecl}, | |
6850 | -{TRUE, 521, "_wexecle", _wexecle}, | |
6851 | -{TRUE, 522, "_wexeclp", _wexeclp}, | |
6852 | -{TRUE, 523, "_wexeclpe", _wexeclpe}, | |
6853 | -{TRUE, 524, "_wexecv", _wexecv}, | |
6854 | -{TRUE, 525, "_wexecve", _wexecve}, | |
6855 | -{TRUE, 526, "_wexecvp", _wexecvp}, | |
6856 | -{TRUE, 527, "_wexecvpe", _wexecvpe}, | |
6857 | -{TRUE, 528, "_wfdopen", _wfdopen}, | |
6858 | -{FALSE, 529, "_wfindfirst", _wfindfirst}, | |
6859 | -{FALSE, 530, "_wfindfirst64", _wfindfirst64}, | |
6860 | -{FALSE, 531, "_wfindfirsti64", _wfindfirsti64}, | |
6861 | -{FALSE, 532, "_wfindnext", _wfindnext}, | |
6862 | -{FALSE, 533, "_wfindnext64", _wfindnext64}, | |
6863 | -{FALSE, 534, "_wfindnexti64", _wfindnexti64}, | |
6864 | -{TRUE, 535, "_wfopen", _wfopen}, | |
6865 | -{TRUE, 536, "_wfreopen", _wfreopen}, | |
6866 | -{TRUE, 537, "_wfsopen", _wfsopen}, | |
6867 | -{FALSE, 538, "_wfullpath", _wfullpath}, | |
6868 | -{FALSE, 539, "_wgetcwd", _wgetcwd}, | |
6869 | -{FALSE, 540, "_wgetdcwd", _wgetdcwd}, | |
6870 | -{FALSE, 541, "_wgetenv", _wgetenv}, | |
6871 | -{FALSE, 542, "_winmajor", msvcrt_winmajor}, | |
6872 | -{FALSE, 543, "_winminor", msvcrt_winminor}, | |
6873 | -{FALSE, 544, "_winver", msvcrt_winver}, | |
6874 | -{FALSE, 545, "_wmakepath", _wmakepath}, | |
6875 | -{TRUE, 546, "_wmkdir", _wmkdir}, | |
6876 | -{FALSE, 547, "_wmktemp", _wmktemp}, | |
6877 | -{FALSE, 548, "_wopen", _wopen}, | |
6878 | -{FALSE, 549, "_wperror", _wperror}, | |
6879 | -{FALSE, 550, "_wpgmptr", msvcrt_wpgmptr}, | |
6880 | -{FALSE, 551, "_wpopen", _wpopen}, | |
6881 | -{FALSE, 552, "_wputenv", _wputenv}, | |
6882 | -{FALSE, 553, "_wremove", _wremove}, | |
6883 | -{FALSE, 554, "_wrename", _wrename}, | |
6884 | -{FALSE, 555, "_write", msvcrt_write}, | |
6885 | -{FALSE, 556, "_wrmdir", _wrmdir}, | |
6886 | -{FALSE, 557, "_wsearchenv", _wsearchenv}, | |
6887 | -{FALSE, 558, "_wsetlocale", _wsetlocale}, | |
6888 | -{FALSE, 559, "_wsopen", _wsopen}, | |
6889 | -{FALSE, 560, "_wspawnl", _wspawnl}, | |
6890 | -{FALSE, 561, "_wspawnle", _wspawnle}, | |
6891 | -{FALSE, 562, "_wspawnlp", _wspawnlp}, | |
6892 | -{FALSE, 563, "_wspawnlpe", _wspawnlpe}, | |
6893 | -{FALSE, 564, "_wspawnv", _wspawnv}, | |
6894 | -{FALSE, 565, "_wspawnve", _wspawnve}, | |
6895 | -{FALSE, 566, "_wspawnvp", _wspawnvp}, | |
6896 | -{FALSE, 567, "_wspawnvpe", _wspawnvpe}, | |
6897 | -{FALSE, 568, "_wsplitpath", _wsplitpath}, | |
6898 | -{FALSE, 569, "_wstat", _wstat}, | |
6899 | -{FALSE, 570, "_wstat64", msvcrt_wstat64}, | |
6900 | -{FALSE, 571, "_wstati64", _wstati64}, | |
6901 | -{FALSE, 572, "_wstrdate", _wstrdate}, | |
6902 | -{FALSE, 573, "_wstrtime", _wstrtime}, | |
6903 | -{FALSE, 574, "_wsystem", _wsystem}, | |
6904 | -{FALSE, 575, "_wtempnam", _wtempnam}, | |
6905 | -{FALSE, 576, "_wtmpnam", _wtmpnam}, | |
6906 | -{FALSE, 577, "_wtoi", _wtoi}, | |
6907 | -{FALSE, 578, "_wtoi64", msvcrt_wtoi64}, | |
6908 | -{FALSE, 579, "_wtol", _wtol}, | |
6909 | -{TRUE, 580, "_wunlink", _wunlink}, | |
6910 | -{FALSE, 581, "_wutime", _wutime}, | |
6911 | -{FALSE, 582, "_wutime64", msvcrt_wutime64}, | |
6912 | -{FALSE, 583, "_y0", msvcrt_y0}, | |
6913 | -{FALSE, 584, "_y1", msvcrt_y1}, | |
6914 | -{FALSE, 585, "_yn", msvcrt_yn}, | |
6915 | -{FALSE, 586, "abort", msvcrt_abort}, | |
6916 | -{FALSE, 587, "abs", msvcrt_abs}, | |
6917 | -{FALSE, 588, "acos", msvcrt_acos}, | |
6918 | -{FALSE, 589, "asctime", msvcrt_asctime}, | |
6919 | -{FALSE, 590, "asin", msvcrt_asin}, | |
6920 | -{FALSE, 591, "atan", msvcrt_atan}, | |
6921 | -{FALSE, 592, "atan2", msvcrt_atan2}, | |
6922 | -{FALSE, 593, "atexit", msvcrt_atexit}, | |
6923 | -{TRUE, 594, "atof", msvcrt_atof}, | |
6924 | -{FALSE, 595, "atoi", msvcrt_atoi}, | |
6925 | -{FALSE, 596, "atol", msvcrt_atol}, | |
6926 | -{FALSE, 597, "bsearch", msvcrt_bsearch}, | |
6927 | -{FALSE, 598, "calloc", msvcrt_calloc}, | |
6928 | -{FALSE, 599, "ceil", msvcrt_ceil}, | |
6929 | -{FALSE, 600, "clearerr", msvcrt_clearerr}, | |
6930 | -{FALSE, 601, "clock", msvcrt_clock}, | |
6931 | -{FALSE, 602, "cos", msvcrt_cos}, | |
6932 | -{FALSE, 603, "cosh", msvcrt_cosh}, | |
6933 | -{FALSE, 604, "ctime", msvcrt_ctime}, | |
6934 | -{FALSE, 605, "difftime", msvcrt_difftime}, | |
6935 | -{FALSE, 606, "div", msvcrt_div}, | |
6936 | -{TRUE, 607, "exit", msvcrt_exit}, | |
6937 | -{FALSE, 608, "exp", msvcrt_exp}, | |
6938 | -{FALSE, 609, "fabs", msvcrt_fabs}, | |
6939 | -{FALSE, 610, "fclose", msvcrt_fclose}, | |
6940 | -{FALSE, 611, "feof", msvcrt_feof}, | |
6941 | -{FALSE, 612, "ferror", msvcrt_ferror}, | |
6942 | -{FALSE, 613, "fflush", msvcrt_fflush}, | |
6943 | -{FALSE, 614, "fgetc", msvcrt_fgetc}, | |
6944 | -{FALSE, 615, "fgetpos", msvcrt_fgetpos}, | |
6945 | -{FALSE, 616, "fgets", msvcrt_fgets}, | |
6946 | -{FALSE, 617, "fgetwc", msvcrt_fgetwc}, | |
6947 | -{FALSE, 618, "fgetws", msvcrt_fgetws}, | |
6948 | -{FALSE, 619, "floor", msvcrt_floor}, | |
6949 | -{FALSE, 620, "fmod", msvcrt_fmod}, | |
6950 | -{TRUE, 621, "fopen", msvcrt_fopen}, | |
6951 | -{FALSE, 622, "fprintf", msvcrt_fprintf}, | |
6952 | -{FALSE, 623, "fputc", msvcrt_fputc}, | |
6953 | -{FALSE, 624, "fputs", msvcrt_fputs}, | |
6954 | -{FALSE, 625, "fputwc", msvcrt_fputwc}, | |
6955 | -{FALSE, 626, "fputws", msvcrt_fputws}, | |
6956 | -{FALSE, 627, "fread", msvcrt_fread}, | |
6957 | -{TRUE, 628, "free", msvcrt_free}, | |
6958 | -{TRUE, 629, "freopen", msvcrt_freopen}, | |
6959 | -{FALSE, 630, "frexp", msvcrt_frexp}, | |
6960 | -{TRUE, 631, "fscanf", msvcrt_fscanf}, | |
6961 | -{FALSE, 632, "fseek", msvcrt_fseek}, | |
6962 | -{FALSE, 633, "fsetpos", msvcrt_fsetpos}, | |
6963 | -{FALSE, 634, "ftell", msvcrt_ftell}, | |
6964 | -{FALSE, 635, "fwprintf", msvcrt_fwprintf}, | |
6965 | -{FALSE, 636, "fwrite", msvcrt_fwrite}, | |
6966 | -{TRUE, 637, "fwscanf", fwscanf}, | |
6967 | -{FALSE, 638, "getc", msvcrt_getc}, | |
6968 | -{FALSE, 639, "getchar", msvcrt_getchar}, | |
6969 | -{FALSE, 640, "getenv", msvcrt_getenv}, | |
6970 | -{FALSE, 641, "gets", msvcrt_gets}, | |
6971 | -{FALSE, 642, "getwc", msvcrt_getwc}, | |
6972 | -{FALSE, 643, "getwchar", msvcrt_getwchar}, | |
6973 | -{FALSE, 644, "gmtime", msvcrt_gmtime}, | |
6974 | -{FALSE, 645, "is_wctype", msvcrt_is_wctype}, | |
6975 | -{TRUE, 646, "isalnum", msvcrt_isalnum}, | |
6976 | -{FALSE, 647, "isalpha", msvcrt_isalpha}, | |
6977 | -{FALSE, 648, "iscntrl", msvcrt_iscntrl}, | |
6978 | -{FALSE, 649, "isdigit", msvcrt_isdigit}, | |
6979 | -{FALSE, 650, "isgraph", msvcrt_isgraph}, | |
6980 | -{TRUE, 651, "isleadbyte", isleadbyte}, | |
6981 | -{FALSE, 652, "islower", msvcrt_islower}, | |
6982 | -{FALSE, 653, "isprint", msvcrt_isprint}, | |
6983 | -{FALSE, 654, "ispunct", msvcrt_ispunct}, | |
6984 | -{FALSE, 655, "isspace", msvcrt_isspace}, | |
6985 | -{FALSE, 656, "isupper", msvcrt_isupper}, | |
6986 | -{FALSE, 657, "iswalnum", msvcrt_iswalnum}, | |
6987 | -{FALSE, 658, "iswalpha", msvcrt_iswalpha}, | |
6988 | -{FALSE, 659, "iswascii", iswascii}, | |
6989 | -{FALSE, 660, "iswcntrl", msvcrt_iswcntrl}, | |
6990 | -{FALSE, 661, "iswctype", msvcrt_iswctype}, | |
6991 | -{FALSE, 662, "iswdigit", msvcrt_iswdigit}, | |
6992 | -{FALSE, 663, "iswgraph", msvcrt_iswgraph}, | |
6993 | -{FALSE, 664, "iswlower", msvcrt_iswlower}, | |
6994 | -{FALSE, 665, "iswprint", msvcrt_iswprint}, | |
6995 | -{FALSE, 666, "iswpunct", msvcrt_iswpunct}, | |
6996 | -{FALSE, 667, "iswspace", msvcrt_iswspace}, | |
6997 | -{FALSE, 668, "iswupper", msvcrt_iswupper}, | |
6998 | -{FALSE, 669, "iswxdigit", msvcrt_iswxdigit}, | |
6999 | -{FALSE, 670, "isxdigit", msvcrt_isxdigit}, | |
7000 | -{FALSE, 671, "labs", msvcrt_labs}, | |
7001 | -{FALSE, 672, "ldexp", msvcrt_ldexp}, | |
7002 | -{FALSE, 673, "ldiv", msvcrt_ldiv}, | |
7003 | -{FALSE, 674, "localeconv", msvcrt_localeconv}, | |
7004 | -{FALSE, 675, "localtime", msvcrt_localtime}, | |
7005 | -{FALSE, 676, "log", msvcrt_log}, | |
7006 | -{FALSE, 677, "log10", msvcrt_log10}, | |
7007 | -{FALSE, 678, "longjmp", msvcrt_longjmp}, | |
7008 | -{TRUE, 679, "malloc", msvcrt_malloc}, | |
7009 | -{FALSE, 680, "mblen", msvcrt_mblen}, | |
7010 | -{FALSE, 681, "mbstowcs", msvcrt_mbstowcs}, | |
7011 | -{FALSE, 682, "mbtowc", msvcrt_mbtowc}, | |
7012 | -{FALSE, 683, "memchr", msvcrt_memchr}, | |
7013 | -{FALSE, 684, "memcmp", msvcrt_memcmp}, | |
7014 | -{TRUE, 685, "memcpy", msvcrt_memcpy}, | |
7015 | -{TRUE, 686, "memmove", msvcrt_memmove}, | |
7016 | -{FALSE, 687, "memset", msvcrt_memset}, | |
7017 | -{FALSE, 688, "mktime", msvcrt_mktime}, | |
7018 | -{FALSE, 689, "modf", msvcrt_modf}, | |
7019 | -{FALSE, 690, "perror", msvcrt_perror}, | |
7020 | -{FALSE, 691, "pow", msvcrt_pow}, | |
7021 | -{FALSE, 692, "printf", msvcrt_printf}, | |
7022 | -{FALSE, 693, "putc", msvcrt_putc}, | |
7023 | -{FALSE, 694, "putchar", msvcrt_putchar}, | |
7024 | -{FALSE, 695, "puts", msvcrt_puts}, | |
7025 | -{FALSE, 696, "putwc", msvcrt_putwc}, | |
7026 | -{FALSE, 697, "putwchar", msvcrt_putwchar}, | |
7027 | -{FALSE, 698, "qsort", msvcrt_qsort}, | |
7028 | -{FALSE, 699, "raise", msvcrt_raise}, | |
7029 | -{TRUE, 700, "rand", msvcrt_rand}, | |
7030 | -{FALSE, 701, "realloc", msvcrt_realloc}, | |
7031 | -{FALSE, 702, "remove", msvcrt_remove}, | |
7032 | -{FALSE, 703, "rename", msvcrt_rename}, | |
7033 | -{FALSE, 704, "rewind", msvcrt_rewind}, | |
7034 | -{TRUE, 705, "scanf", msvcrt_scanf}, | |
7035 | -{FALSE, 706, "setbuf", msvcrt_setbuf}, | |
7036 | -{FALSE, 707, "setlocale", msvcrt_setlocale}, | |
7037 | -{FALSE, 708, "setvbuf", msvcrt_setvbuf}, | |
7038 | -{FALSE, 709, "signal", msvcrt_signal}, | |
7039 | -{FALSE, 710, "sin", msvcrt_sin}, | |
7040 | -{FALSE, 711, "sinh", msvcrt_sinh}, | |
7041 | -{FALSE, 712, "sprintf", msvcrt_sprintf}, | |
7042 | -{FALSE, 713, "sqrt", msvcrt_sqrt}, | |
7043 | -{TRUE, 714, "srand", msvcrt_srand}, | |
7044 | -{TRUE, 715, "sscanf", msvcrt_sscanf}, | |
7045 | -{FALSE, 716, "strcat", msvcrt_strcat}, | |
7046 | -{TRUE, 717, "strchr", msvcrt_strchr}, | |
7047 | -{FALSE, 718, "strcmp", msvcrt_strcmp}, | |
7048 | -{FALSE, 719, "strcoll", msvcrt_strcoll}, | |
7049 | -{FALSE, 720, "strcpy", msvcrt_strcpy}, | |
7050 | -{FALSE, 721, "strcspn", msvcrt_strcspn}, | |
7051 | -{FALSE, 722, "strerror", msvcrt_strerror}, | |
7052 | -{FALSE, 723, "strftime", msvcrt_strftime}, | |
7053 | -{FALSE, 724, "strlen", msvcrt_strlen}, | |
7054 | -{FALSE, 725, "strncat", msvcrt_strncat}, | |
7055 | -{FALSE, 726, "strncmp", msvcrt_strncmp}, | |
7056 | -{FALSE, 727, "strncpy", msvcrt_strncpy}, | |
7057 | -{FALSE, 728, "strpbrk", msvcrt_strpbrk}, | |
7058 | -{TRUE, 729, "strrchr", msvcrt_strrchr}, | |
7059 | -{FALSE, 730, "strspn", msvcrt_strspn}, | |
7060 | -{FALSE, 731, "strstr", msvcrt_strstr}, | |
7061 | -{FALSE, 732, "strtod", msvcrt_strtod}, | |
7062 | -{FALSE, 733, "strtok", msvcrt_strtok}, | |
7063 | -{FALSE, 734, "strtol", msvcrt_strtol}, | |
7064 | -{FALSE, 735, "strtoul", msvcrt_strtoul}, | |
7065 | -{FALSE, 736, "strxfrm", msvcrt_strxfrm}, | |
7066 | -{FALSE, 737, "swprintf", msvcrt_swprintf}, | |
7067 | -{TRUE, 738, "swscanf", swscanf}, | |
7068 | -{FALSE, 739, "system", msvcrt_system}, | |
7069 | -{FALSE, 740, "tan", msvcrt_tan}, | |
7070 | -{FALSE, 741, "tanh", msvcrt_tanh}, | |
7071 | -{FALSE, 742, "time", msvcrt_time}, | |
7072 | -{FALSE, 743, "tmpfile", msvcrt_tmpfile}, | |
7073 | -{FALSE, 744, "tmpnam", msvcrt_tmpnam}, | |
7074 | -{FALSE, 745, "tolower", msvcrt_tolower}, | |
7075 | -{TRUE, 746, "toupper", msvcrt_toupper}, | |
7076 | -{FALSE, 747, "towlower", msvcrt_towlower}, | |
7077 | -{FALSE, 748, "towupper", msvcrt_towupper}, | |
7078 | -{FALSE, 749, "ungetc", msvcrt_ungetc}, | |
7079 | -{FALSE, 750, "ungetwc", msvcrt_ungetwc}, | |
7080 | -{FALSE, 751, "vfprintf", msvcrt_vfprintf}, | |
7081 | -{FALSE, 752, "vfwprintf", msvcrt_vfwprintf}, | |
7082 | -{FALSE, 753, "vprintf", msvcrt_vprintf}, | |
7083 | -{FALSE, 754, "vsprintf", msvcrt_vsprintf}, | |
7084 | -{FALSE, 755, "vswprintf", msvcrt_vswprintf}, | |
7085 | -{FALSE, 756, "vwprintf", msvcrt_vwprintf}, | |
7086 | -{FALSE, 757, "wcscat", msvcrt_wcscat}, | |
7087 | -{FALSE, 758, "wcschr", msvcrt_wcschr}, | |
7088 | -{FALSE, 759, "wcscmp", msvcrt_wcscmp}, | |
7089 | -{FALSE, 760, "wcscoll", wcscoll}, | |
7090 | -{TRUE, 761, "wcscpy", msvcrt_wcscpy}, | |
7091 | -{FALSE, 762, "wcscspn", msvcrt_wcscspn}, | |
7092 | -{FALSE, 763, "wcsftime", wcsftime}, | |
7093 | -{FALSE, 764, "wcslen", msvcrt_wcslen}, | |
7094 | -{FALSE, 765, "wcsncat", msvcrt_wcsncat}, | |
7095 | -{FALSE, 766, "wcsncmp", msvcrt_wcsncmp}, | |
7096 | -{FALSE, 767, "wcsncpy", msvcrt_wcsncpy}, | |
7097 | -{FALSE, 768, "wcspbrk", msvcrt_wcspbrk}, | |
7098 | -{FALSE, 769, "wcsrchr", msvcrt_wcsrchr}, | |
7099 | -{FALSE, 770, "wcsspn", msvcrt_wcsspn}, | |
7100 | -{FALSE, 771, "wcsstr", msvcrt_wcsstr}, | |
7101 | -{FALSE, 772, "wcstod", wcstod}, | |
7102 | -{FALSE, 773, "wcstok", msvcrt_wcstok}, | |
7103 | -{FALSE, 774, "wcstol", wcstol}, | |
7104 | -{FALSE, 775, "wcstombs", msvcrt_wcstombs}, | |
7105 | -{FALSE, 776, "wcstoul", wcstoul}, | |
7106 | -{FALSE, 777, "wcsxfrm", wcsxfrm}, | |
7107 | -{FALSE, 778, "wctomb", msvcrt_wctomb}, | |
7108 | -{FALSE, 779, "wprintf", msvcrt_wprintf}, | |
7109 | -{TRUE, 780, "wscanf", wscanf}, | |
7110 | -{FALSE, 0, NULL, NULL}}; | |
6378 | +W32LdrExport w32ldr_msvcrt_exports[] = { | |
6379 | +{ 0, 15, "??2@YAPAXI@Z", msvcrt_new}, | |
6380 | +{ 0, 16, "??3@YAXPAX@Z", msvcrt_delete}, | |
6381 | +{-1, 52, "_CIacos", msvcrt_CIacos}, | |
6382 | +{-1, 53, "_CIasin", msvcrt_CIasin}, | |
6383 | +{-1, 54, "_CIatan", msvcrt_CIatan}, | |
6384 | +{-1, 55, "_CIatan2", msvcrt_CIatan2}, | |
6385 | +{-1, 56, "_CIcos", msvcrt_CIcos}, | |
6386 | +{-1, 57, "_CIcosh", msvcrt_CIcosh}, | |
6387 | +{-1, 58, "_CIexp", msvcrt_CIexp}, | |
6388 | +{-1, 59, "_CIfmod", msvcrt_CIfmod}, | |
6389 | +{-1, 60, "_CIlog", msvcrt_CIlog}, | |
6390 | +{-1, 61, "_CIlog10", msvcrt_CIlog10}, | |
6391 | +{-1, 62, "_CIpow", msvcrt_CIpow}, | |
6392 | +{-1, 63, "_CIsin", msvcrt_CIsin}, | |
6393 | +{-1, 64, "_CIsinh", msvcrt_CIsinh}, | |
6394 | +{-1, 65, "_CIsqrt", msvcrt_CIsqrt}, | |
6395 | +{-1, 66, "_CItan", msvcrt_CItan}, | |
6396 | +{-1, 67, "_CItanh", msvcrt_CItanh}, | |
6397 | +{-1, 68, "_CxxThrowException", msvcrt_CxxThrowException}, | |
6398 | +{ 0, 69, "_EH_prolog", msvcrt_EH_prolog}, | |
6399 | +{-1, 70, "_Getdays", msvcrt_Getdays}, | |
6400 | +{-1, 71, "_Getmonths", msvcrt_Getmonths}, | |
6401 | +{-1, 72, "_Gettnames", msvcrt_Gettnames}, | |
6402 | +{-1, 73, "_HUGE", msvcrt_HUGE}, | |
6403 | +{-1, 74, "_Strftime", msvcrt_Strftime}, | |
6404 | +{-1, 75, "_XcptFilter", msvcrt_XcptFilter}, | |
6405 | +{ 0, 76, "__CxxFrameHandler", msvcrt_CxxFrameHandler}, | |
6406 | +{-1, 77, "__CxxLongjmpUnwind", msvcrt_CxxLongjmpUnwind}, | |
6407 | +{-1, 78, "__RTCastToVoid", msvcrt_RTCastToVoid}, | |
6408 | +{-1, 79, "__RTDynamicCast", msvcrt_RTDynamicCast}, | |
6409 | +{-1, 80, "__RTtypeid", msvcrt_RTtypeid}, | |
6410 | +{-1, 81, "__STRINGTOLD", msvcrt_STRINGTOLD}, | |
6411 | +{-1, 82, "__argc", msvcrt_argc}, | |
6412 | +{-1, 83, "__argv", msvcrt_argv}, | |
6413 | +{-1, 84, "__badioinfo", msvcrt_badioinfo}, | |
6414 | +{-1, 85, "__crtCompareStringA", msvcrt_crtCompareStringA}, | |
6415 | +{-1, 86, "__crtGetLocaleInfoW", msvcrt_crtGetLocaleInfoW}, | |
6416 | +{-1, 87, "__crtLCMapStringA", msvcrt_crtLCMapStringA}, | |
6417 | +{ 0, 88, "__dllonexit", msvcrt_dllonexit}, | |
6418 | +{-1, 89, "__doserrno", msvcrt_doserrno}, | |
6419 | +{-1, 90, "__fpecode", msvcrt_fpecode}, | |
6420 | +{-1, 91, "__getmainargs", msvcrt_getmainargs}, | |
6421 | +{-1, 92, "__initenv", msvcrt_initenv}, | |
6422 | +{-1, 93, "__isascii", msvcrt_isascii}, | |
6423 | +{-1, 94, "__iscsym", __iscsym}, | |
6424 | +{-1, 95, "__iscsymf", __iscsymf}, | |
6425 | +{-1, 96, "__lc_codepage", msvcrt_lc_codepage}, | |
6426 | +{-1, 97, "__lc_collate_cp", msvcrt_lc_collate_cp}, | |
6427 | +{-1, 98, "__lc_handle", msvcrt_lc_handle}, | |
6428 | +{-1, 99, "__lconv_init", msvcrt_lconv_init}, | |
6429 | +{-1, 100, "__mb_cur_max", msvcrt_mb_cur_max}, | |
6430 | +{-1, 101, "__p___argc", msvcrt_p___argc}, | |
6431 | +{-1, 102, "__p___argv", msvcrt_p___argv}, | |
6432 | +{-1, 103, "__p___initenv", msvcrt_p___initenv}, | |
6433 | +{-1, 104, "__p___mb_cur_max", msvcrt_p___mb_cur_max}, | |
6434 | +{-1, 105, "__p___wargv", msvcrt_p___wargv}, | |
6435 | +{-1, 106, "__p___winitenv", msvcrt_p___winitenv}, | |
6436 | +{-1, 107, "__p__acmdln", msvcrt_p__acmdln}, | |
6437 | +{-1, 108, "__p__amblksiz", msvcrt_p__amblksiz}, | |
6438 | +{-1, 109, "__p__commode", msvcrt_p__commode}, | |
6439 | +{-1, 110, "__p__daylight", msvcrt_p__daylight}, | |
6440 | +{-1, 111, "__p__dstbias", msvcrt_p__dstbias}, | |
6441 | +{-1, 112, "__p__environ", msvcrt_p__environ}, | |
6442 | +{-1, 113, "__p__fileinfo", msvcrt_p__fileinfo}, | |
6443 | +{-1, 114, "__p__fmode", msvcrt_p__fmode}, | |
6444 | +{-1, 115, "__p__iob", msvcrt_p__iob}, | |
6445 | +{-1, 116, "__p__mbcasemap", msvcrt_p__mbcasemap}, | |
6446 | +{-1, 117, "__p__mbctype", msvcrt_p__mbctype}, | |
6447 | +{-1, 118, "__p__osver", msvcrt_p__osver}, | |
6448 | +{-1, 119, "__p__pctype", msvcrt_p__pctype}, | |
6449 | +{-1, 120, "__p__pgmptr", msvcrt_p__pgmptr}, | |
6450 | +{-1, 121, "__p__pwctype", msvcrt_p__pwctype}, | |
6451 | +{-1, 122, "__p__timezone", msvcrt_p__timezone}, | |
6452 | +{-1, 123, "__p__tzname", msvcrt_p__tzname}, | |
6453 | +{-1, 124, "__p__wcmdln", msvcrt_p__wcmdln}, | |
6454 | +{-1, 125, "__p__wenviron", msvcrt_p__wenviron}, | |
6455 | +{-1, 126, "__p__winmajor", msvcrt_p__winmajor}, | |
6456 | +{-1, 127, "__p__winminor", msvcrt_p__winminor}, | |
6457 | +{-1, 128, "__p__winver", msvcrt_p__winver}, | |
6458 | +{-1, 129, "__p__wpgmptr", msvcrt_p__wpgmptr}, | |
6459 | +{-1, 130, "__pioinfo", msvcrt_pioinfo}, | |
6460 | +{-1, 131, "__pxcptinfoptrs", msvcrt_pxcptinfoptrs}, | |
6461 | +{-1, 132, "__set_app_type", msvcrt_set_app_type}, | |
6462 | +{-1, 133, "__setlc_active", msvcrt_setlc_active}, | |
6463 | +{-1, 134, "__setusermatherr", msvcrt_setusermatherr}, | |
6464 | +{-1, 135, "__threadhandle", msvcrt_threadhandle}, | |
6465 | +{-1, 136, "__threadid", msvcrt_threadid}, | |
6466 | +{-1, 137, "__toascii", msvcrt__toascii}, | |
6467 | +{-1, 138, "__unDName", msvcrt_unDName}, | |
6468 | +{-1, 139, "__unDNameEx", msvcrt_unDNameEx}, | |
6469 | +{-1, 140, "__unguarded_readlc_active", msvcrt_unguarded_readlc_active}, | |
6470 | +{-1, 141, "__wargv", msvcrt_wargv}, | |
6471 | +{-1, 142, "__wgetmainargs", msvcrt_wgetmainargs}, | |
6472 | +{-1, 143, "__winitenv", msvcrt_winitenv}, | |
6473 | +{-1, 144, "_abnormal_termination", msvcrt_abnormal_termination}, | |
6474 | +{ 0, 145, "_access", _access}, | |
6475 | +{-1, 146, "_acmdln", msvcrt_acmdln}, | |
6476 | +{-1, 147, "_adj_fdiv_m16i", msvcrt_adj_fdiv_m16i}, | |
6477 | +{-1, 148, "_adj_fdiv_m32", msvcrt_adj_fdiv_m32}, | |
6478 | +{-1, 149, "_adj_fdiv_m32i", msvcrt_adj_fdiv_m32i}, | |
6479 | +{-1, 150, "_adj_fdiv_m64", msvcrt_adj_fdiv_m64}, | |
6480 | +{-1, 151, "_adj_fdiv_r", msvcrt_adj_fdiv_r}, | |
6481 | +{-1, 152, "_adj_fdivr_m16i", msvcrt_adj_fdivr_m16i}, | |
6482 | +{-1, 153, "_adj_fdivr_m32", msvcrt_adj_fdivr_m32}, | |
6483 | +{-1, 154, "_adj_fdivr_m32i", msvcrt_adj_fdivr_m32i}, | |
6484 | +{-1, 155, "_adj_fdivr_m64", msvcrt_adj_fdivr_m64}, | |
6485 | +{-1, 156, "_adj_fpatan", msvcrt_adj_fpatan}, | |
6486 | +{-1, 157, "_adj_fprem", msvcrt_adj_fprem}, | |
6487 | +{-1, 158, "_adj_fprem1", msvcrt_adj_fprem1}, | |
6488 | +{-1, 159, "_adj_fptan", msvcrt_adj_fptan}, | |
6489 | +{ 4, 160, "_adjust_fdiv", &msvcrt_adjust_fdiv}, | |
6490 | +{-1, 161, "_aexit_rtn", msvcrt_aexit_rtn}, | |
6491 | +{-1, 162, "_amsg_exit", msvcrt_amsg_exit}, | |
6492 | +{-1, 163, "_assert", msvcrt_assert}, | |
6493 | +{-1, 164, "_atodbl", msvcrt_atodbl}, | |
6494 | +{ 0, 165, "_atoi64", _atoi64}, | |
6495 | +{-1, 166, "_atoldbl", msvcrt_atoldbl}, | |
6496 | +{-1, 167, "_beep", msvcrt_beep}, | |
6497 | +{ 0, 168, "_beginthread", _beginthread}, | |
6498 | +{ 0, 169, "_beginthreadex", _beginthreadex}, | |
6499 | +{-1, 170, "_c_exit", _c_exit}, | |
6500 | +{-1, 171, "_cabs", msvcrt_cabs}, | |
6501 | +{-1, 172, "_callnewh", msvcrt_callnewh}, | |
6502 | +{-1, 173, "_cexit", _cexit}, | |
6503 | +{ 0, 174, "_cgets", _cgets}, | |
6504 | +{ 0, 175, "_chdir", _chdir}, | |
6505 | +{ 0, 176, "_chdrive", _chdrive}, | |
6506 | +{ 0, 177, "_chgsign", _chgsign}, | |
6507 | +{-1, 178, "_chkesp", msvcrt_chkesp}, | |
6508 | +{ 0, 179, "_chmod", _chmod}, | |
6509 | +{ 0, 180, "_chsize", _chsize}, | |
6510 | +{ 0, 181, "_clearfp", _clearfp}, | |
6511 | +{ 0, 182, "_close", msvcrt_close}, | |
6512 | +{ 0, 183, "_commit", _commit}, | |
6513 | +{-1, 184, "_commode", msvcrt_commode}, | |
6514 | +{ 0, 185, "_control87", _control87}, | |
6515 | +{ 0, 186, "_controlfp", _controlfp}, | |
6516 | +{ 0, 187, "_copysign", msvcrt_copysign}, | |
6517 | +{ 0, 188, "_cprintf", _cprintf}, | |
6518 | +{ 0, 189, "_cputs", _cputs}, | |
6519 | +{ 0, 190, "_creat", _creat}, | |
6520 | +{ 0, 191, "_cscanf", _cscanf}, | |
6521 | +{-1, 192, "_ctime64", msvcrt_ctime64}, | |
6522 | +{-1, 193, "_ctype", msvcrt_ctype}, | |
6523 | +{ 0, 194, "_cwait", _cwait}, | |
6524 | +{-1, 195, "_daylight", msvcrt_daylight}, | |
6525 | +{-1, 196, "_dstbias", msvcrt_dstbias}, | |
6526 | +{ 0, 197, "_dup", msvcrt_dup}, | |
6527 | +{ 0, 198, "_dup2", msvcrt_dup2}, | |
6528 | +{ 0, 199, "_ecvt", msvcrt_ecvt}, | |
6529 | +{ 0, 200, "_endthread", _endthread}, | |
6530 | +{ 0, 201, "_endthreadex", _endthreadex}, | |
6531 | +{-1, 202, "_environ", msvcrt_environ}, | |
6532 | +{-1, 203, "_eof", _eof}, | |
6533 | +{-1, 204, "_errno", msvcrt_errno}, | |
6534 | +{-1, 205, "_except_handler2", msvcrt_except_handler2}, | |
6535 | +{ 0, 206, "_except_handler3", msvcrt_except_handler3}, | |
6536 | +{ 0, 207, "_execl", _execl}, | |
6537 | +{ 0, 208, "_execle", _execle}, | |
6538 | +{ 0, 209, "_execlp", _execlp}, | |
6539 | +{ 0, 210, "_execlpe", _execlpe}, | |
6540 | +{ 0, 211, "_execv", _execv}, | |
6541 | +{ 0, 212, "_execve", _execve}, | |
6542 | +{ 0, 213, "_execvp", _execvp}, | |
6543 | +{ 0, 214, "_execvpe", _execvpe}, | |
6544 | +{ 0, 215, "_exit", msvcrt__exit}, | |
6545 | +{-1, 216, "_expand", _expand}, | |
6546 | +{ 0, 217, "_fcloseall", msvcrt_fcloseall}, | |
6547 | +{ 0, 218, "_fcvt", msvcrt_fcvt}, | |
6548 | +{ 0, 219, "_fdopen", _fdopen}, | |
6549 | +{ 0, 220, "_fgetchar", _fgetchar}, | |
6550 | +{ 0, 221, "_fgetwchar", _fgetwchar}, | |
6551 | +{-1, 222, "_filbuf", msvcrt_filbuf}, | |
6552 | +{-1, 223, "_fileinfo", msvcrt_fileinfo}, | |
6553 | +{ 0, 224, "_filelength", _filelength}, | |
6554 | +{ 0, 225, "_filelengthi64", _filelengthi64}, | |
6555 | +{ 0, 226, "_fileno", msvcrt_fileno}, | |
6556 | +{-1, 227, "_findclose", _findclose}, | |
6557 | +{-1, 228, "_findfirst", _findfirst}, | |
6558 | +{-1, 229, "_findfirst64", _findfirst64}, | |
6559 | +{-1, 230, "_findfirsti64", _findfirsti64}, | |
6560 | +{-1, 231, "_findnext", _findnext}, | |
6561 | +{-1, 232, "_findnext64", _findnext64}, | |
6562 | +{-1, 233, "_findnexti64", _findnexti64}, | |
6563 | +{ 0, 234, "_finite", msvcrt_finite}, | |
6564 | +{-1, 235, "_flsbuf", msvcrt_flsbuf}, | |
6565 | +{-1, 236, "_flushall", _flushall}, | |
6566 | +{-1, 237, "_fmode", msvcrt_fmode}, | |
6567 | +{-1, 238, "_fpclass", _fpclass}, | |
6568 | +{-1, 239, "_fpieee_flt", _fpieee_flt}, | |
6569 | +{-1, 240, "_fpreset", _fpreset}, | |
6570 | +{ 0, 241, "_fputchar", _fputchar}, | |
6571 | +{ 0, 242, "_fputwchar", _fputwchar}, | |
6572 | +{ 0, 243, "_fsopen", _fsopen}, | |
6573 | +{ 0, 244, "_fstat", _fstat}, | |
6574 | +{ 0, 245, "_fstat64", _fstat64}, | |
6575 | +{ 0, 246, "_fstati64", _fstati64}, | |
6576 | +{ 0, 247, "_ftime", msvcrt_ftime}, | |
6577 | +{-1, 248, "_ftime64", msvcrt_ftime64}, | |
6578 | +{ 0, 249, "_ftol", msvcrt_ftol}, | |
6579 | +{-1, 250, "_fullpath", _fullpath}, | |
6580 | +{-1, 251, "_futime", _futime}, | |
6581 | +{-1, 252, "_futime64", _futime64}, | |
6582 | +{-1, 253, "_gcvt", msvcrt_gcvt}, | |
6583 | +{-1, 254, "_get_heap_handle", msvcrt_get_heap_handle}, | |
6584 | +{-1, 255, "_get_osfhandle", _get_osfhandle}, | |
6585 | +{-1, 256, "_get_sbh_threshold", _get_sbh_threshold}, | |
6586 | +{-1, 257, "_getch", _getch}, | |
6587 | +{-1, 258, "_getche", _getche}, | |
6588 | +{-1, 259, "_getcwd", _getcwd}, | |
6589 | +{-1, 260, "_getdcwd", _getdcwd}, | |
6590 | +{-1, 261, "_getdiskfree", msvcrt_getdiskfree}, | |
6591 | +{-1, 262, "_getdllprocaddr", msvcrt_getdllprocaddr}, | |
6592 | +{-1, 263, "_getdrive", _getdrive}, | |
6593 | +{-1, 264, "_getdrives", msvcrt_getdrives}, | |
6594 | +{-1, 265, "_getmaxstdio", msvcrt_getmaxstdio}, | |
6595 | +{-1, 266, "_getmbcp", _getmbcp}, | |
6596 | +{-1, 267, "_getpid", msvcrt_getpid}, | |
6597 | +{-1, 268, "_getsystime", msvcrt_getsystime}, | |
6598 | +{-1, 269, "_getw", msvcrt_getw}, | |
6599 | +{-1, 270, "_getws", msvcrt_getws}, | |
6600 | +{-1, 271, "_global_unwind2", msvcrt_global_unwind2}, | |
6601 | +{-1, 272, "_gmtime64", msvcrt_gmtime64}, | |
6602 | +{-1, 273, "_heapadd", _heapadd}, | |
6603 | +{-1, 274, "_heapchk", _heapchk}, | |
6604 | +{-1, 275, "_heapmin", _heapmin}, | |
6605 | +{-1, 276, "_heapset", _heapset}, | |
6606 | +{-1, 277, "_heapused", _heapused}, | |
6607 | +{-1, 278, "_heapwalk", _heapwalk}, | |
6608 | +{-1, 279, "_hypot", msvcrt_hypot}, | |
6609 | +{ 0, 280, "_i64toa", _i64toa}, | |
6610 | +{-1, 281, "_i64tow", _i64tow}, | |
6611 | +{ 0, 282, "_initterm", msvcrt_initterm}, | |
6612 | +{-1, 283, "_inp", _inp}, | |
6613 | +{-1, 284, "_inpd", _inpd}, | |
6614 | +{-1, 285, "_inpw", _inpw}, | |
6615 | +{-1, 286, "_iob", msvcrt_iob}, | |
6616 | +{-1, 287, "_isatty", msvcrt_isatty}, | |
6617 | +{-1, 288, "_isctype", msvcrt_isctype}, | |
6618 | +{-1, 289, "_ismbbalnum", _ismbbalnum}, | |
6619 | +{-1, 290, "_ismbbalpha", _ismbbalpha}, | |
6620 | +{-1, 291, "_ismbbgraph", _ismbbgraph}, | |
6621 | +{-1, 292, "_ismbbkalnum", _ismbbkalnum}, | |
6622 | +{-1, 293, "_ismbbkana", _ismbbkana}, | |
6623 | +{-1, 294, "_ismbbkprint", _ismbbkprint}, | |
6624 | +{-1, 295, "_ismbbkpunct", _ismbbkpunct}, | |
6625 | +{-1, 296, "_ismbblead", _ismbblead}, | |
6626 | +{-1, 297, "_ismbbprint", _ismbbprint}, | |
6627 | +{-1, 298, "_ismbbpunct", _ismbbpunct}, | |
6628 | +{-1, 299, "_ismbbtrail", _ismbbtrail}, | |
6629 | +{-1, 300, "_ismbcalnum", _ismbcalnum}, | |
6630 | +{-1, 301, "_ismbcalpha", _ismbcalpha}, | |
6631 | +{-1, 302, "_ismbcdigit", _ismbcdigit}, | |
6632 | +{-1, 303, "_ismbcgraph", _ismbcgraph}, | |
6633 | +{-1, 304, "_ismbchira", _ismbchira}, | |
6634 | +{-1, 305, "_ismbckata", _ismbckata}, | |
6635 | +{-1, 306, "_ismbcl0", _ismbcl0}, | |
6636 | +{-1, 307, "_ismbcl1", _ismbcl1}, | |
6637 | +{-1, 308, "_ismbcl2", _ismbcl2}, | |
6638 | +{-1, 309, "_ismbclegal", _ismbclegal}, | |
6639 | +{-1, 310, "_ismbclower", _ismbclower}, | |
6640 | +{-1, 311, "_ismbcprint", _ismbcprint}, | |
6641 | +{-1, 312, "_ismbcpunct", _ismbcpunct}, | |
6642 | +{-1, 313, "_ismbcspace", _ismbcspace}, | |
6643 | +{-1, 314, "_ismbcsymbol", _ismbcsymbol}, | |
6644 | +{-1, 315, "_ismbcupper", _ismbcupper}, | |
6645 | +{ 0, 316, "_ismbslead", _ismbslead}, | |
6646 | +{ 0, 317, "_ismbstrail", _ismbstrail}, | |
6647 | +{-1, 318, "_isnan", msvcrt_isnan}, | |
6648 | +{-1, 319, "_itoa", _itoa}, | |
6649 | +{-1, 320, "_itow", _itow}, | |
6650 | +{-1, 321, "_j0", msvcrt_j0}, | |
6651 | +{-1, 322, "_j1", msvcrt_j1}, | |
6652 | +{-1, 323, "_jn", msvcrt_jn}, | |
6653 | +{-1, 324, "_kbhit", _kbhit}, | |
6654 | +{-1, 325, "_lfind", msvcrt_lfind}, | |
6655 | +{-1, 326, "_loaddll", msvcrt_loaddll}, | |
6656 | +{-1, 327, "_local_unwind2", msvcrt_local_unwind2}, | |
6657 | +{-1, 328, "_localtime64", msvcrt_localtime64}, | |
6658 | +{-1, 329, "_lock", msvcrt_lock}, | |
6659 | +{-1, 330, "_locking", _locking}, | |
6660 | +{-1, 331, "_logb", msvcrt_logb}, | |
6661 | +{-1, 332, "_longjmpex", msvcrt_longjmpex}, | |
6662 | +{-1, 333, "_lrotl", _lrotl}, | |
6663 | +{-1, 334, "_lrotr", _lrotr}, | |
6664 | +{-1, 335, "_lsearch", msvcrt_lsearch}, | |
6665 | +{-1, 336, "_lseek", msvcrt_lseek}, | |
6666 | +{-1, 337, "_lseeki64", msvcrt_lseeki64}, | |
6667 | +{-1, 338, "_ltoa", _ltoa}, | |
6668 | +{-1, 339, "_ltow", _ltow}, | |
6669 | +{-1, 340, "_makepath", _makepath}, | |
6670 | +{-1, 341, "_mbbtombc", _mbbtombc}, | |
6671 | +{-1, 342, "_mbbtype", _mbbtype}, | |
6672 | +{-1, 343, "_mbcasemap", _mbcasemap}, | |
6673 | +{-1, 344, "_mbccpy", _mbccpy}, | |
6674 | +{ 0, 345, "_mbcjistojms", _mbcjistojms}, | |
6675 | +{ 0, 346, "_mbcjmstojis", _mbcjmstojis}, | |
6676 | +{-1, 347, "_mbclen", _mbclen}, | |
6677 | +{-1, 348, "_mbctohira", _mbctohira}, | |
6678 | +{-1, 349, "_mbctokata", _mbctokata}, | |
6679 | +{-1, 350, "_mbctolower", _mbctolower}, | |
6680 | +{-1, 351, "_mbctombb", _mbctombb}, | |
6681 | +{-1, 352, "_mbctoupper", _mbctoupper}, | |
6682 | +{-1, 353, "_mbctype", _mbctype}, | |
6683 | +{-1, 354, "_mbsbtype", msvcrt_mbsbtype}, | |
6684 | +{-1, 355, "_mbscat", _mbscat}, | |
6685 | +{ 0, 356, "_mbschr", _mbschr}, | |
6686 | +{ 0, 357, "_mbscmp", _mbscmp}, | |
6687 | +{-1, 358, "_mbscoll", _mbscoll}, | |
6688 | +{-1, 359, "_mbscpy", _mbscpy}, | |
6689 | +{-1, 360, "_mbscspn", _mbscspn}, | |
6690 | +{ 0, 361, "_mbsdec", _mbsdec}, | |
6691 | +{-1, 362, "_mbsdup", _mbsdup}, | |
6692 | +{ 0, 363, "_mbsicmp", _mbsicmp}, | |
6693 | +{-1, 364, "_mbsicoll", _mbsicoll}, | |
6694 | +{ 0, 365, "_mbsinc", _mbsinc}, | |
6695 | +{ 0, 366, "_mbslen", _mbslen}, | |
6696 | +{ 0, 367, "_mbslwr", _mbslwr}, | |
6697 | +{-1, 368, "_mbsnbcat", _mbsnbcat}, | |
6698 | +{-1, 369, "_mbsnbcmp", _mbsnbcmp}, | |
6699 | +{-1, 370, "_mbsnbcnt", _mbsnbcnt}, | |
6700 | +{-1, 371, "_mbsnbcoll", _mbsnbcoll}, | |
6701 | +{-1, 372, "_mbsnbcpy", _mbsnbcpy}, | |
6702 | +{-1, 373, "_mbsnbicmp", _mbsnbicmp}, | |
6703 | +{-1, 374, "_mbsnbicoll", _mbsnbicoll}, | |
6704 | +{-1, 375, "_mbsnbset", _mbsnbset}, | |
6705 | +{-1, 376, "_mbsncat", _mbsncat}, | |
6706 | +{-1, 377, "_mbsnccnt", _mbsnccnt}, | |
6707 | +{ 0, 378, "_mbsncmp", _mbsncmp}, | |
6708 | +{-1, 379, "_mbsncoll", _mbsncoll}, | |
6709 | +{-1, 380, "_mbsncpy", _mbsncpy}, | |
6710 | +{-1, 381, "_mbsnextc", _mbsnextc}, | |
6711 | +{-1, 382, "_mbsnicmp", _mbsnicmp}, | |
6712 | +{-1, 383, "_mbsnicoll", _mbsnicoll}, | |
6713 | +{ 0, 384, "_mbsninc", _mbsninc}, | |
6714 | +{-1, 385, "_mbsnset", _mbsnset}, | |
6715 | +{-1, 386, "_mbspbrk", _mbspbrk}, | |
6716 | +{ 0, 387, "_mbsrchr", _mbsrchr}, | |
6717 | +{-1, 388, "_mbsrev", _mbsrev}, | |
6718 | +{-1, 389, "_mbsset", _mbsset}, | |
6719 | +{-1, 390, "_mbsspn", _mbsspn}, | |
6720 | +{-1, 391, "_mbsspnp", _mbsspnp}, | |
6721 | +{ 0, 392, "_mbsstr", _mbsstr}, | |
6722 | +{-1, 393, "_mbstok", _mbstok}, | |
6723 | +{-1, 394, "_mbstrlen", _mbstrlen}, | |
6724 | +{ 0, 395, "_mbsupr", _mbsupr}, | |
6725 | +{-1, 396, "_memccpy", msvcrt_memccpy}, | |
6726 | +{-1, 397, "_memicmp", _memicmp}, | |
6727 | +{ 0, 398, "_mkdir", _mkdir}, | |
6728 | +{-1, 399, "_mktemp", _mktemp}, | |
6729 | +{-1, 400, "_mktime64", msvcrt_mktime64}, | |
6730 | +{-1, 401, "_msize", _msize}, | |
6731 | +{-1, 402, "_nextafter", msvcrt_nextafter}, | |
6732 | +{ 0, 403, "_onexit", _onexit}, | |
6733 | +{-1, 404, "_open", _open}, | |
6734 | +{-1, 405, "_open_osfhandle", _open_osfhandle}, | |
6735 | +{-1, 406, "_osplatform", msvcrt_osplatform}, | |
6736 | +{-1, 407, "_osver", msvcrt_osver}, | |
6737 | +{-1, 408, "_outp", _outp}, | |
6738 | +{-1, 409, "_outpd", _outpd}, | |
6739 | +{-1, 410, "_outpw", _outpw}, | |
6740 | +{-1, 411, "_pclose", msvcrt_pclose}, | |
6741 | +{-1, 412, "_pctype", msvcrt_pctype}, | |
6742 | +{-1, 413, "_pgmptr", msvcrt_pgmptr}, | |
6743 | +{-1, 414, "_pipe", msvcrt_pipe}, | |
6744 | +{-1, 415, "_popen", _popen}, | |
6745 | +{-1, 416, "_purecall", msvcrt_purecall}, | |
6746 | +{-1, 417, "_putch", _putch}, | |
6747 | +{-1, 418, "_putenv", _putenv}, | |
6748 | +{-1, 419, "_putw", _putw}, | |
6749 | +{-1, 420, "_putws", _putws}, | |
6750 | +{-1, 421, "_pwctype", msvcrt_pwctype}, | |
6751 | +{-1, 422, "_read", msvcrt_read}, | |
6752 | +{-1, 423, "_rmdir", _rmdir}, | |
6753 | +{-1, 424, "_rmtmp", _rmtmp}, | |
6754 | +{-1, 425, "_rotl", _rotl}, | |
6755 | +{-1, 426, "_rotr", _rotr}, | |
6756 | +{-1, 427, "_safe_fdiv", msvcrt_safe_fdiv}, | |
6757 | +{-1, 428, "_safe_fdivr", msvcrt_safe_fdivr}, | |
6758 | +{-1, 429, "_safe_fprem", msvcrt_safe_fprem}, | |
6759 | +{-1, 430, "_safe_fprem1", msvcrt_safe_fprem1}, | |
6760 | +{-1, 431, "_scalb", msvcrt_scalb}, | |
6761 | +{-1, 432, "_searchenv", _searchenv}, | |
6762 | +{-1, 433, "_seh_longjmp_unwind", msvcrt_seh_longjmp_unwind}, | |
6763 | +{-1, 434, "_set_error_mode", msvcrt_set_error_mode}, | |
6764 | +{-1, 435, "_set_sbh_threshold", _set_sbh_threshold}, | |
6765 | +{-1, 436, "_seterrormode", msvcrt_seterrormode}, | |
6766 | +{-1, 437, "_setjmp", msvcrt_setjmp}, | |
6767 | +{-1, 438, "_setjmp3", msvcrt_setjmp3}, | |
6768 | +{-1, 439, "_setmaxstdio", _setmaxstdio}, | |
6769 | +{-1, 440, "_setmbcp", _setmbcp}, | |
6770 | +{-1, 441, "_setmode", _setmode}, | |
6771 | +{-1, 442, "_setsystime", msvcrt_setsystime}, | |
6772 | +{-1, 443, "_sleep", msvcrt_sleep}, | |
6773 | +{-1, 444, "_snprintf", msvcrt_snprintf}, | |
6774 | +{-1, 445, "_snwprintf", _snwprintf}, | |
6775 | +{-1, 446, "_sopen", _sopen}, | |
6776 | +{-1, 447, "_spawnl", _spawnl}, | |
6777 | +{-1, 448, "_spawnle", _spawnle}, | |
6778 | +{-1, 449, "_spawnlp", _spawnlp}, | |
6779 | +{-1, 450, "_spawnlpe", _spawnlpe}, | |
6780 | +{-1, 451, "_spawnv", _spawnv}, | |
6781 | +{-1, 452, "_spawnve", _spawnve}, | |
6782 | +{-1, 453, "_spawnvp", _spawnvp}, | |
6783 | +{-1, 454, "_spawnvpe", _spawnvpe}, | |
6784 | +{-1, 455, "_splitpath", _splitpath}, | |
6785 | +{-1, 456, "_stat", _stat}, | |
6786 | +{-1, 457, "_stat64", msvcrt_stat64}, | |
6787 | +{-1, 458, "_stati64", _stati64}, | |
6788 | +{-1, 459, "_statusfp", _statusfp}, | |
6789 | +{ 0, 460, "_strcmpi", msvcrt_strcmpi}, | |
6790 | +{-1, 461, "_strdate", _strdate}, | |
6791 | +{-1, 462, "_strdup", msvcrt_strdup}, | |
6792 | +{-1, 463, "_strerror", _strerror}, | |
6793 | +{ 0, 464, "_stricmp", _stricmp}, | |
6794 | +{-1, 465, "_stricoll", _stricoll}, | |
6795 | +{ 0, 466, "_strlwr", _strlwr}, | |
6796 | +{-1, 467, "_strncoll", _strncoll}, | |
6797 | +{ 0, 468, "_strnicmp", _strnicmp}, | |
6798 | +{-1, 469, "_strnicoll", _strnicoll}, | |
6799 | +{-1, 470, "_strnset", _strnset}, | |
6800 | +{ 0, 471, "_strrev", _strrev}, | |
6801 | +{-1, 472, "_strset", _strset}, | |
6802 | +{-1, 473, "_strtime", _strtime}, | |
6803 | +{ 0, 474, "_strupr", _strupr}, | |
6804 | +{-1, 475, "_swab", msvcrt_swab}, | |
6805 | +{-1, 476, "_sys_errlist", msvcrt_sys_errlist}, | |
6806 | +{-1, 477, "_sys_nerr", msvcrt_sys_nerr}, | |
6807 | +{-1, 478, "_tell", _tell}, | |
6808 | +{-1, 479, "_telli64", _telli64}, | |
6809 | +{-1, 480, "_tempnam", _tempnam}, | |
6810 | +{-1, 481, "_time64", msvcrt_time64}, | |
6811 | +{-1, 482, "_timezone", msvcrt_timezone}, | |
6812 | +{-1, 483, "_tolower", msvcrt__tolower}, | |
6813 | +{-1, 484, "_toupper", msvcrt__toupper}, | |
6814 | +{-1, 485, "_tzname", msvcrt_tzname}, | |
6815 | +{-1, 486, "_tzset", msvcrt_tzset}, | |
6816 | +{ 0, 487, "_ui64toa", _ui64toa}, | |
6817 | +{-1, 488, "_ui64tow", _ui64tow}, | |
6818 | +{-1, 489, "_ultoa", _ultoa}, | |
6819 | +{-1, 490, "_ultow", _ultow}, | |
6820 | +{-1, 491, "_umask", msvcrt_umask}, | |
6821 | +{-1, 492, "_ungetch", _ungetch}, | |
6822 | +{ 0, 493, "_unlink", _unlink}, | |
6823 | +{-1, 494, "_unloaddll", msvcrt_unloaddll}, | |
6824 | +{-1, 495, "_unlock", msvcrt_unlock}, | |
6825 | +{-1, 496, "_utime", _utime}, | |
6826 | +{-1, 497, "_utime64", msvcrt_utime64}, | |
6827 | +{-1, 498, "_vsnprintf", msvcrt_vsnprintf}, | |
6828 | +{-1, 499, "_vsnwprintf", _vsnwprintf}, | |
6829 | +{ 0, 500, "_waccess", _waccess}, | |
6830 | +{-1, 501, "_wasctime", _wasctime}, | |
6831 | +{ 0, 502, "_wchdir", _wchdir}, | |
6832 | +{ 0, 503, "_wchmod", _wchmod}, | |
6833 | +{-1, 504, "_wcmdln", msvcrt_wcmdln}, | |
6834 | +{ 0, 505, "_wcreat", _wcreat}, | |
6835 | +{-1, 506, "_wcsdup", _wcsdup}, | |
6836 | +{-1, 507, "_wcsicmp", _wcsicmp}, | |
6837 | +{-1, 508, "_wcsicoll", _wcsicoll}, | |
6838 | +{-1, 509, "_wcslwr", _wcslwr}, | |
6839 | +{-1, 510, "_wcsncoll", _wcsncoll}, | |
6840 | +{-1, 511, "_wcsnicmp", _wcsnicmp}, | |
6841 | +{-1, 512, "_wcsnicoll", _wcsnicoll}, | |
6842 | +{-1, 513, "_wcsnset", _wcsnset}, | |
6843 | +{ 0, 514, "_wcsrev", _wcsrev}, | |
6844 | +{-1, 515, "_wcsset", _wcsset}, | |
6845 | +{-1, 516, "_wcsupr", _wcsupr}, | |
6846 | +{-1, 517, "_wctime", msvcrt_wctime}, | |
6847 | +{-1, 518, "_wctime64", msvcrt_wctime64}, | |
6848 | +{-1, 519, "_wenviron", msvcrt_wenviron}, | |
6849 | +{ 0, 520, "_wexecl", _wexecl}, | |
6850 | +{ 0, 521, "_wexecle", _wexecle}, | |
6851 | +{ 0, 522, "_wexeclp", _wexeclp}, | |
6852 | +{ 0, 523, "_wexeclpe", _wexeclpe}, | |
6853 | +{ 0, 524, "_wexecv", _wexecv}, | |
6854 | +{ 0, 525, "_wexecve", _wexecve}, | |
6855 | +{ 0, 526, "_wexecvp", _wexecvp}, | |
6856 | +{ 0, 527, "_wexecvpe", _wexecvpe}, | |
6857 | +{ 0, 528, "_wfdopen", _wfdopen}, | |
6858 | +{-1, 529, "_wfindfirst", _wfindfirst}, | |
6859 | +{-1, 530, "_wfindfirst64", _wfindfirst64}, | |
6860 | +{-1, 531, "_wfindfirsti64", _wfindfirsti64}, | |
6861 | +{-1, 532, "_wfindnext", _wfindnext}, | |
6862 | +{-1, 533, "_wfindnext64", _wfindnext64}, | |
6863 | +{-1, 534, "_wfindnexti64", _wfindnexti64}, | |
6864 | +{ 0, 535, "_wfopen", _wfopen}, | |
6865 | +{ 0, 536, "_wfreopen", _wfreopen}, | |
6866 | +{ 0, 537, "_wfsopen", _wfsopen}, | |
6867 | +{-1, 538, "_wfullpath", _wfullpath}, | |
6868 | +{-1, 539, "_wgetcwd", _wgetcwd}, | |
6869 | +{-1, 540, "_wgetdcwd", _wgetdcwd}, | |
6870 | +{-1, 541, "_wgetenv", _wgetenv}, | |
6871 | +{-1, 542, "_winmajor", msvcrt_winmajor}, | |
6872 | +{-1, 543, "_winminor", msvcrt_winminor}, | |
6873 | +{-1, 544, "_winver", msvcrt_winver}, | |
6874 | +{-1, 545, "_wmakepath", _wmakepath}, | |
6875 | +{ 0, 546, "_wmkdir", _wmkdir}, | |
6876 | +{-1, 547, "_wmktemp", _wmktemp}, | |
6877 | +{-1, 548, "_wopen", _wopen}, | |
6878 | +{-1, 549, "_wperror", _wperror}, | |
6879 | +{-1, 550, "_wpgmptr", msvcrt_wpgmptr}, | |
6880 | +{-1, 551, "_wpopen", _wpopen}, | |
6881 | +{-1, 552, "_wputenv", _wputenv}, | |
6882 | +{-1, 553, "_wremove", _wremove}, | |
6883 | +{-1, 554, "_wrename", _wrename}, | |
6884 | +{-1, 555, "_write", msvcrt_write}, | |
6885 | +{-1, 556, "_wrmdir", _wrmdir}, | |
6886 | +{-1, 557, "_wsearchenv", _wsearchenv}, | |
6887 | +{-1, 558, "_wsetlocale", _wsetlocale}, | |
6888 | +{-1, 559, "_wsopen", _wsopen}, | |
6889 | +{-1, 560, "_wspawnl", _wspawnl}, | |
6890 | +{-1, 561, "_wspawnle", _wspawnle}, | |
6891 | +{-1, 562, "_wspawnlp", _wspawnlp}, | |
6892 | +{-1, 563, "_wspawnlpe", _wspawnlpe}, | |
6893 | +{-1, 564, "_wspawnv", _wspawnv}, | |
6894 | +{-1, 565, "_wspawnve", _wspawnve}, | |
6895 | +{-1, 566, "_wspawnvp", _wspawnvp}, | |
6896 | +{-1, 567, "_wspawnvpe", _wspawnvpe}, | |
6897 | +{-1, 568, "_wsplitpath", _wsplitpath}, | |
6898 | +{-1, 569, "_wstat", _wstat}, | |
6899 | +{-1, 570, "_wstat64", msvcrt_wstat64}, | |
6900 | +{-1, 571, "_wstati64", _wstati64}, | |
6901 | +{-1, 572, "_wstrdate", _wstrdate}, | |
6902 | +{-1, 573, "_wstrtime", _wstrtime}, | |
6903 | +{-1, 574, "_wsystem", _wsystem}, | |
6904 | +{-1, 575, "_wtempnam", _wtempnam}, | |
6905 | +{-1, 576, "_wtmpnam", _wtmpnam}, | |
6906 | +{-1, 577, "_wtoi", _wtoi}, | |
6907 | +{-1, 578, "_wtoi64", msvcrt_wtoi64}, | |
6908 | +{-1, 579, "_wtol", _wtol}, | |
6909 | +{ 0, 580, "_wunlink", _wunlink}, | |
6910 | +{-1, 581, "_wutime", _wutime}, | |
6911 | +{-1, 582, "_wutime64", msvcrt_wutime64}, | |
6912 | +{-1, 583, "_y0", msvcrt_y0}, | |
6913 | +{-1, 584, "_y1", msvcrt_y1}, | |
6914 | +{-1, 585, "_yn", msvcrt_yn}, | |
6915 | +{-1, 586, "abort", msvcrt_abort}, | |
6916 | +{-1, 587, "abs", msvcrt_abs}, | |
6917 | +{-1, 588, "acos", msvcrt_acos}, | |
6918 | +{-1, 589, "asctime", msvcrt_asctime}, | |
6919 | +{-1, 590, "asin", msvcrt_asin}, | |
6920 | +{-1, 591, "atan", msvcrt_atan}, | |
6921 | +{-1, 592, "atan2", msvcrt_atan2}, | |
6922 | +{-1, 593, "atexit", msvcrt_atexit}, | |
6923 | +{ 0, 594, "atof", msvcrt_atof}, | |
6924 | +{-1, 595, "atoi", msvcrt_atoi}, | |
6925 | +{-1, 596, "atol", msvcrt_atol}, | |
6926 | +{-1, 597, "bsearch", msvcrt_bsearch}, | |
6927 | +{-1, 598, "calloc", msvcrt_calloc}, | |
6928 | +{-1, 599, "ceil", msvcrt_ceil}, | |
6929 | +{-1, 600, "clearerr", msvcrt_clearerr}, | |
6930 | +{-1, 601, "clock", msvcrt_clock}, | |
6931 | +{-1, 602, "cos", msvcrt_cos}, | |
6932 | +{-1, 603, "cosh", msvcrt_cosh}, | |
6933 | +{-1, 604, "ctime", msvcrt_ctime}, | |
6934 | +{-1, 605, "difftime", msvcrt_difftime}, | |
6935 | +{-1, 606, "div", msvcrt_div}, | |
6936 | +{ 0, 607, "exit", msvcrt_exit}, | |
6937 | +{-1, 608, "exp", msvcrt_exp}, | |
6938 | +{-1, 609, "fabs", msvcrt_fabs}, | |
6939 | +{-1, 610, "fclose", msvcrt_fclose}, | |
6940 | +{-1, 611, "feof", msvcrt_feof}, | |
6941 | +{-1, 612, "ferror", msvcrt_ferror}, | |
6942 | +{-1, 613, "fflush", msvcrt_fflush}, | |
6943 | +{-1, 614, "fgetc", msvcrt_fgetc}, | |
6944 | +{-1, 615, "fgetpos", msvcrt_fgetpos}, | |
6945 | +{-1, 616, "fgets", msvcrt_fgets}, | |
6946 | +{-1, 617, "fgetwc", msvcrt_fgetwc}, | |
6947 | +{-1, 618, "fgetws", msvcrt_fgetws}, | |
6948 | +{-1, 619, "floor", msvcrt_floor}, | |
6949 | +{-1, 620, "fmod", msvcrt_fmod}, | |
6950 | +{ 0, 621, "fopen", msvcrt_fopen}, | |
6951 | +{-1, 622, "fprintf", msvcrt_fprintf}, | |
6952 | +{-1, 623, "fputc", msvcrt_fputc}, | |
6953 | +{-1, 624, "fputs", msvcrt_fputs}, | |
6954 | +{-1, 625, "fputwc", msvcrt_fputwc}, | |
6955 | +{-1, 626, "fputws", msvcrt_fputws}, | |
6956 | +{-1, 627, "fread", msvcrt_fread}, | |
6957 | +{ 0, 628, "free", msvcrt_free}, | |
6958 | +{ 0, 629, "freopen", msvcrt_freopen}, | |
6959 | +{-1, 630, "frexp", msvcrt_frexp}, | |
6960 | +{ 0, 631, "fscanf", msvcrt_fscanf}, | |
6961 | +{-1, 632, "fseek", msvcrt_fseek}, | |
6962 | +{-1, 633, "fsetpos", msvcrt_fsetpos}, | |
6963 | +{-1, 634, "ftell", msvcrt_ftell}, | |
6964 | +{-1, 635, "fwprintf", msvcrt_fwprintf}, | |
6965 | +{-1, 636, "fwrite", msvcrt_fwrite}, | |
6966 | +{ 0, 637, "fwscanf", fwscanf}, | |
6967 | +{-1, 638, "getc", msvcrt_getc}, | |
6968 | +{-1, 639, "getchar", msvcrt_getchar}, | |
6969 | +{-1, 640, "getenv", msvcrt_getenv}, | |
6970 | +{-1, 641, "gets", msvcrt_gets}, | |
6971 | +{-1, 642, "getwc", msvcrt_getwc}, | |
6972 | +{-1, 643, "getwchar", msvcrt_getwchar}, | |
6973 | +{-1, 644, "gmtime", msvcrt_gmtime}, | |
6974 | +{-1, 645, "is_wctype", msvcrt_is_wctype}, | |
6975 | +{ 0, 646, "isalnum", msvcrt_isalnum}, | |
6976 | +{-1, 647, "isalpha", msvcrt_isalpha}, | |
6977 | +{-1, 648, "iscntrl", msvcrt_iscntrl}, | |
6978 | +{-1, 649, "isdigit", msvcrt_isdigit}, | |
6979 | +{-1, 650, "isgraph", msvcrt_isgraph}, | |
6980 | +{ 0, 651, "isleadbyte", isleadbyte}, | |
6981 | +{-1, 652, "islower", msvcrt_islower}, | |
6982 | +{-1, 653, "isprint", msvcrt_isprint}, | |
6983 | +{-1, 654, "ispunct", msvcrt_ispunct}, | |
6984 | +{-1, 655, "isspace", msvcrt_isspace}, | |
6985 | +{-1, 656, "isupper", msvcrt_isupper}, | |
6986 | +{-1, 657, "iswalnum", msvcrt_iswalnum}, | |
6987 | +{-1, 658, "iswalpha", msvcrt_iswalpha}, | |
6988 | +{-1, 659, "iswascii", iswascii}, | |
6989 | +{-1, 660, "iswcntrl", msvcrt_iswcntrl}, | |
6990 | +{-1, 661, "iswctype", msvcrt_iswctype}, | |
6991 | +{-1, 662, "iswdigit", msvcrt_iswdigit}, | |
6992 | +{-1, 663, "iswgraph", msvcrt_iswgraph}, | |
6993 | +{-1, 664, "iswlower", msvcrt_iswlower}, | |
6994 | +{-1, 665, "iswprint", msvcrt_iswprint}, | |
6995 | +{-1, 666, "iswpunct", msvcrt_iswpunct}, | |
6996 | +{-1, 667, "iswspace", msvcrt_iswspace}, | |
6997 | +{-1, 668, "iswupper", msvcrt_iswupper}, | |
6998 | +{-1, 669, "iswxdigit", msvcrt_iswxdigit}, | |
6999 | +{-1, 670, "isxdigit", msvcrt_isxdigit}, | |
7000 | +{-1, 671, "labs", msvcrt_labs}, | |
7001 | +{-1, 672, "ldexp", msvcrt_ldexp}, | |
7002 | +{-1, 673, "ldiv", msvcrt_ldiv}, | |
7003 | +{-1, 674, "localeconv", msvcrt_localeconv}, | |
7004 | +{-1, 675, "localtime", msvcrt_localtime}, | |
7005 | +{-1, 676, "log", msvcrt_log}, | |
7006 | +{-1, 677, "log10", msvcrt_log10}, | |
7007 | +{-1, 678, "longjmp", msvcrt_longjmp}, | |
7008 | +{ 0, 679, "malloc", msvcrt_malloc}, | |
7009 | +{-1, 680, "mblen", msvcrt_mblen}, | |
7010 | +{-1, 681, "mbstowcs", msvcrt_mbstowcs}, | |
7011 | +{-1, 682, "mbtowc", msvcrt_mbtowc}, | |
7012 | +{-1, 683, "memchr", msvcrt_memchr}, | |
7013 | +{-1, 684, "memcmp", msvcrt_memcmp}, | |
7014 | +{ 0, 685, "memcpy", msvcrt_memcpy}, | |
7015 | +{ 0, 686, "memmove", msvcrt_memmove}, | |
7016 | +{-1, 687, "memset", msvcrt_memset}, | |
7017 | +{-1, 688, "mktime", msvcrt_mktime}, | |
7018 | +{-1, 689, "modf", msvcrt_modf}, | |
7019 | +{-1, 690, "perror", msvcrt_perror}, | |
7020 | +{-1, 691, "pow", msvcrt_pow}, | |
7021 | +{-1, 692, "printf", msvcrt_printf}, | |
7022 | +{-1, 693, "putc", msvcrt_putc}, | |
7023 | +{-1, 694, "putchar", msvcrt_putchar}, | |
7024 | +{-1, 695, "puts", msvcrt_puts}, | |
7025 | +{-1, 696, "putwc", msvcrt_putwc}, | |
7026 | +{-1, 697, "putwchar", msvcrt_putwchar}, | |
7027 | +{-1, 698, "qsort", msvcrt_qsort}, | |
7028 | +{-1, 699, "raise", msvcrt_raise}, | |
7029 | +{ 0, 700, "rand", msvcrt_rand}, | |
7030 | +{-1, 701, "realloc", msvcrt_realloc}, | |
7031 | +{-1, 702, "remove", msvcrt_remove}, | |
7032 | +{-1, 703, "rename", msvcrt_rename}, | |
7033 | +{-1, 704, "rewind", msvcrt_rewind}, | |
7034 | +{ 0, 705, "scanf", msvcrt_scanf}, | |
7035 | +{-1, 706, "setbuf", msvcrt_setbuf}, | |
7036 | +{-1, 707, "setlocale", msvcrt_setlocale}, | |
7037 | +{-1, 708, "setvbuf", msvcrt_setvbuf}, | |
7038 | +{-1, 709, "signal", msvcrt_signal}, | |
7039 | +{-1, 710, "sin", msvcrt_sin}, | |
7040 | +{-1, 711, "sinh", msvcrt_sinh}, | |
7041 | +{-1, 712, "sprintf", msvcrt_sprintf}, | |
7042 | +{-1, 713, "sqrt", msvcrt_sqrt}, | |
7043 | +{ 0, 714, "srand", msvcrt_srand}, | |
7044 | +{ 0, 715, "sscanf", msvcrt_sscanf}, | |
7045 | +{-1, 716, "strcat", msvcrt_strcat}, | |
7046 | +{ 0, 717, "strchr", msvcrt_strchr}, | |
7047 | +{-1, 718, "strcmp", msvcrt_strcmp}, | |
7048 | +{-1, 719, "strcoll", msvcrt_strcoll}, | |
7049 | +{-1, 720, "strcpy", msvcrt_strcpy}, | |
7050 | +{-1, 721, "strcspn", msvcrt_strcspn}, | |
7051 | +{-1, 722, "strerror", msvcrt_strerror}, | |
7052 | +{-1, 723, "strftime", msvcrt_strftime}, | |
7053 | +{-1, 724, "strlen", msvcrt_strlen}, | |
7054 | +{-1, 725, "strncat", msvcrt_strncat}, | |
7055 | +{-1, 726, "strncmp", msvcrt_strncmp}, | |
7056 | +{-1, 727, "strncpy", msvcrt_strncpy}, | |
7057 | +{-1, 728, "strpbrk", msvcrt_strpbrk}, | |
7058 | +{ 0, 729, "strrchr", msvcrt_strrchr}, | |
7059 | +{-1, 730, "strspn", msvcrt_strspn}, | |
7060 | +{-1, 731, "strstr", msvcrt_strstr}, | |
7061 | +{-1, 732, "strtod", msvcrt_strtod}, | |
7062 | +{-1, 733, "strtok", msvcrt_strtok}, | |
7063 | +{-1, 734, "strtol", msvcrt_strtol}, | |
7064 | +{-1, 735, "strtoul", msvcrt_strtoul}, | |
7065 | +{-1, 736, "strxfrm", msvcrt_strxfrm}, | |
7066 | +{-1, 737, "swprintf", msvcrt_swprintf}, | |
7067 | +{ 0, 738, "swscanf", swscanf}, | |
7068 | +{-1, 739, "system", msvcrt_system}, | |
7069 | +{-1, 740, "tan", msvcrt_tan}, | |
7070 | +{-1, 741, "tanh", msvcrt_tanh}, | |
7071 | +{-1, 742, "time", msvcrt_time}, | |
7072 | +{-1, 743, "tmpfile", msvcrt_tmpfile}, | |
7073 | +{-1, 744, "tmpnam", msvcrt_tmpnam}, | |
7074 | +{-1, 745, "tolower", msvcrt_tolower}, | |
7075 | +{ 0, 746, "toupper", msvcrt_toupper}, | |
7076 | +{-1, 747, "towlower", msvcrt_towlower}, | |
7077 | +{-1, 748, "towupper", msvcrt_towupper}, | |
7078 | +{-1, 749, "ungetc", msvcrt_ungetc}, | |
7079 | +{-1, 750, "ungetwc", msvcrt_ungetwc}, | |
7080 | +{-1, 751, "vfprintf", msvcrt_vfprintf}, | |
7081 | +{-1, 752, "vfwprintf", msvcrt_vfwprintf}, | |
7082 | +{-1, 753, "vprintf", msvcrt_vprintf}, | |
7083 | +{-1, 754, "vsprintf", msvcrt_vsprintf}, | |
7084 | +{-1, 755, "vswprintf", msvcrt_vswprintf}, | |
7085 | +{-1, 756, "vwprintf", msvcrt_vwprintf}, | |
7086 | +{-1, 757, "wcscat", msvcrt_wcscat}, | |
7087 | +{-1, 758, "wcschr", msvcrt_wcschr}, | |
7088 | +{-1, 759, "wcscmp", msvcrt_wcscmp}, | |
7089 | +{-1, 760, "wcscoll", wcscoll}, | |
7090 | +{ 0, 761, "wcscpy", msvcrt_wcscpy}, | |
7091 | +{-1, 762, "wcscspn", msvcrt_wcscspn}, | |
7092 | +{-1, 763, "wcsftime", wcsftime}, | |
7093 | +{-1, 764, "wcslen", msvcrt_wcslen}, | |
7094 | +{-1, 765, "wcsncat", msvcrt_wcsncat}, | |
7095 | +{-1, 766, "wcsncmp", msvcrt_wcsncmp}, | |
7096 | +{-1, 767, "wcsncpy", msvcrt_wcsncpy}, | |
7097 | +{-1, 768, "wcspbrk", msvcrt_wcspbrk}, | |
7098 | +{-1, 769, "wcsrchr", msvcrt_wcsrchr}, | |
7099 | +{-1, 770, "wcsspn", msvcrt_wcsspn}, | |
7100 | +{-1, 771, "wcsstr", msvcrt_wcsstr}, | |
7101 | +{-1, 772, "wcstod", wcstod}, | |
7102 | +{-1, 773, "wcstok", msvcrt_wcstok}, | |
7103 | +{-1, 774, "wcstol", wcstol}, | |
7104 | +{-1, 775, "wcstombs", msvcrt_wcstombs}, | |
7105 | +{-1, 776, "wcstoul", wcstoul}, | |
7106 | +{-1, 777, "wcsxfrm", wcsxfrm}, | |
7107 | +{-1, 778, "wctomb", msvcrt_wctomb}, | |
7108 | +{-1, 779, "wprintf", msvcrt_wprintf}, | |
7109 | +{ 0, 780, "wscanf", wscanf}, | |
7110 | +{-1, 0, NULL, NULL}}; |
@@ -1,6 +1,6 @@ | ||
1 | 1 | /* |
2 | 2 | w32loader |
3 | - copyright (c) 1998-2009 Kazuki IWAMOTO http://www.maid.org/ iwm@maid.org | |
3 | + copyright (c) 1998-2010 Kazuki Iwamoto http://www.maid.org/ iwm@maid.org | |
4 | 4 | |
5 | 5 | This program is free software: you can redistribute it and/or modify |
6 | 6 | it under the terms of the GNU General Public License as published by |
@@ -28,25 +28,9 @@ | ||
28 | 28 | G_BEGIN_DECLS |
29 | 29 | |
30 | 30 | |
31 | -#define W32LDR_DIR_WINDOWS 0 | |
32 | -#define W32LDR_DIR_SYSTEM 1 | |
33 | -#define W32LDR_DIR_TEMP 2 | |
34 | -#define W32LDR_DIR_DATA 3 | |
35 | -#define W32LDR_DIR_HOME 4 | |
36 | - | |
37 | - | |
38 | -typedef BOOL CALLBACK (*DllEntryProc)(HMODULE, DWORD, LPVOID); | |
39 | -typedef struct _W32LdrModule | |
40 | -{ | |
41 | - gchar *file, *name; | |
42 | - gint counter; | |
43 | - GHashTable *exports, *ordinals, *resource; | |
44 | - GList *glist; | |
45 | - DllEntryProc DllMain; | |
46 | -} W32LdrModule; | |
47 | 31 | typedef struct _W32LdrExport |
48 | 32 | { |
49 | - gboolean implement; | |
33 | + gint implement; | |
50 | 34 | guint16 ordinal; |
51 | 35 | gchar *name; |
52 | 36 | gpointer func; |
@@ -71,7 +55,7 @@ | ||
71 | 55 | /* ja:既にロードされているモジュールを取得する |
72 | 56 | file,モジュール名 |
73 | 57 | RET,モジュール,NULL:ロードされていない */ |
74 | -W32LdrModule * | |
58 | +gpointer | |
75 | 59 | w32ldr_module_get_library (const gchar *file); |
76 | 60 | |
77 | 61 |
@@ -79,73 +63,25 @@ | ||
79 | 63 | file,モジュール名 |
80 | 64 | exec,TRUE:DllMainを実行する,FALSE:ロードのみ |
81 | 65 | RET,モジュール,NULL:エラー */ |
82 | -W32LdrModule * | |
66 | +gpointer | |
83 | 67 | w32ldr_module_load_library (const gchar *file, |
84 | 68 | const gboolean exec); |
85 | 69 | |
86 | 70 | |
87 | 71 | /* ja:モジュールを解放する |
88 | - module,モジュール | |
89 | - RET,TRUE:正常終了,NULL:エラー */ | |
72 | + memory,モジュール | |
73 | + RET,TRUE:正常終了,FALSE:エラー */ | |
90 | 74 | gboolean |
91 | -w32ldr_module_free (W32LdrModule *module); | |
75 | +w32ldr_module_free (gpointer memory); | |
92 | 76 | |
93 | 77 | |
94 | -/* ja:モジュールからAPIを取得する | |
95 | - module,モジュール | |
96 | - name,API名 | |
97 | - RET,アドレス,NULL:エラー */ | |
98 | -gpointer | |
99 | -w32ldr_module_get_func (W32LdrModule *module, | |
100 | - const gchar *name); | |
101 | - | |
102 | - | |
103 | -/* ja:モジュールからAPIを取得する | |
104 | - module,モジュール | |
105 | - ordinal,オーディナル値 | |
106 | - RET,アドレス,NULL:エラー */ | |
107 | -gpointer | |
108 | -w32ldr_module_get_proc (W32LdrModule *module, | |
109 | - const guint16 ordinal); | |
110 | - | |
111 | - | |
112 | -/* ja:モジュールからリソースを取得する | |
113 | - module,モジュール | |
114 | - key,リソース | |
115 | - RET,データ,NULL:エラー */ | |
116 | -gpointer | |
117 | -w32ldr_module_get_resource (W32LdrModule *module, | |
118 | - const gchar *key); | |
119 | - | |
120 | - | |
121 | -/****************************************************************************** | |
122 | -* * | |
123 | -* ja:ディレクトリ関数群 * | |
124 | -* * | |
125 | -******************************************************************************/ | |
126 | -/* ja:大文字小文字を区別しないパス名を求める | |
127 | - path,ファイル名 | |
128 | - RET,大文字小文字を区別しないパス名 */ | |
129 | -gchar * | |
130 | -w32ldr_dir_get_case_insensitive (const gchar *path); | |
131 | - | |
132 | - | |
133 | -/* ja:特定のディレクトリを取得する | |
134 | - dir,ディレクトリの種類 | |
135 | - RET,ディレクトリ */ | |
78 | +/* ja:モジュールの名前を取得する | |
79 | + memory,モジュール | |
80 | + RET,名前,NULL:エラー */ | |
136 | 81 | const gchar * |
137 | -w32ldr_dir_get_path (const guint dir); | |
82 | +w32ldr_module_get_filename (gpointer memory); | |
138 | 83 | |
139 | 84 | |
140 | -/* ja:特定のディレクトリのファイルを取得する | |
141 | - file,元のファイル名 | |
142 | - dir,ディレクトリの種類 | |
143 | - RET,ファイル */ | |
144 | -gchar * | |
145 | -w32ldr_dir_get_filename (const gchar *file, | |
146 | - const guint dir); | |
147 | - | |
148 | - | |
149 | 85 | /****************************************************************************** |
150 | 86 | * * |
151 | 87 | * ja:文字列関数群 * |
@@ -1,6 +1,6 @@ | ||
1 | 1 | /* |
2 | 2 | w32loader |
3 | - copyright (c) 1998-2009 Kazuki IWAMOTO http://www.maid.org/ iwm@maid.org | |
3 | + copyright (c) 1998-2010 Kazuki Iwamoto http://www.maid.org/ iwm@maid.org | |
4 | 4 | |
5 | 5 | This program is free software: you can redistribute it and/or modify |
6 | 6 | it under the terms of the GNU General Public License as published by |
@@ -579,7 +579,7 @@ | ||
579 | 579 | #define _timeb timeb |
580 | 580 | |
581 | 581 | |
582 | -extern W32LdrExport msvcrt_exports[]; | |
582 | +extern W32LdrExport w32ldr_msvcrt_exports[]; | |
583 | 583 | |
584 | 584 | |
585 | 585 | gint CDECL _access (const gchar *path, gint mode); |
@@ -1,6 +1,6 @@ | ||
1 | 1 | /* |
2 | 2 | w32loader |
3 | - copyright (c) 1998-2009 Kazuki IWAMOTO http://www.maid.org/ iwm@maid.org | |
3 | + copyright (c) 1998-2010 Kazuki Iwamoto http://www.maid.org/ iwm@maid.org | |
4 | 4 | |
5 | 5 | This program is free software: you can redistribute it and/or modify |
6 | 6 | it under the terms of the GNU General Public License as published by |
@@ -16,6 +16,7 @@ | ||
16 | 16 | along with this program. If not, see <http://www.gnu.org/licenses/>. |
17 | 17 | */ |
18 | 18 | #include "kernel32.h" |
19 | +#include "image.h" | |
19 | 20 | #include "user32.h" |
20 | 21 | #if GLIB_CHECK_VERSION(2,6,0) |
21 | 22 | # include <glib/gi18n.h> |
@@ -37,6 +38,7 @@ | ||
37 | 38 | # include <unistd.h> |
38 | 39 | #endif |
39 | 40 | #include "misc/misc.h" |
41 | +#include "misc/peimage.h" | |
40 | 42 | #include "misc/profile.h" |
41 | 43 | |
42 | 44 |
@@ -3335,7 +3337,7 @@ | ||
3335 | 3337 | /* FindResourceExA ordinal = 184, argument = 16 */ |
3336 | 3338 | HRSRC WINAPI FindResourceExA (HMODULE hModule, LPCSTR lpType, LPCSTR lpName, WORD wLanguage) |
3337 | 3339 | { |
3338 | - guint8 *data = NULL; | |
3340 | + gconstpointer data = NULL; | |
3339 | 3341 | |
3340 | 3342 | if (hModule) |
3341 | 3343 | { |
@@ -3371,7 +3373,7 @@ | ||
3371 | 3373 | g_free (tmp); |
3372 | 3374 | } |
3373 | 3375 | g_free (buf); |
3374 | - data = w32ldr_module_get_resource (((W32LdrModule *)hModule) - 1, key); | |
3376 | + data = peimage_file_get_resource ((const guint8 *)hModule, key); | |
3375 | 3377 | g_free (key); |
3376 | 3378 | } |
3377 | 3379 | return data; |
@@ -3381,7 +3383,7 @@ | ||
3381 | 3383 | /* FindResourceExW ordinal = 185, argument = 16 */ |
3382 | 3384 | HRSRC WINAPI FindResourceExW (HMODULE hModule, LPCWSTR lpType, LPCWSTR lpName, WORD wLanguage) |
3383 | 3385 | { |
3384 | - guint8 *data = NULL; | |
3386 | + gconstpointer data = NULL; | |
3385 | 3387 | |
3386 | 3388 | if (hModule) |
3387 | 3389 | { |
@@ -3417,7 +3419,7 @@ | ||
3417 | 3419 | g_free (tmp); |
3418 | 3420 | } |
3419 | 3421 | g_free (buf); |
3420 | - data = w32ldr_module_get_resource (((W32LdrModule *)hModule) - 1, key); | |
3422 | + data = peimage_file_get_resource ((const guint8 *)hModule, key); | |
3421 | 3423 | g_free (key); |
3422 | 3424 | } |
3423 | 3425 | return data; |
@@ -3553,7 +3555,7 @@ | ||
3553 | 3555 | /* FreeLibrary ordinal = 200, argument = 4 */ |
3554 | 3556 | BOOL WINAPI FreeLibrary (HMODULE hModule) |
3555 | 3557 | { |
3556 | - return hModule ? w32ldr_module_free (((W32LdrModule *)hModule) - 1) : FALSE; | |
3558 | + return w32ldr_module_free (hModule); | |
3557 | 3559 | } |
3558 | 3560 | |
3559 | 3561 |
@@ -4741,7 +4743,7 @@ | ||
4741 | 4743 | |
4742 | 4744 | if (!lpFilename || nSize <= 0) |
4743 | 4745 | return 0; |
4744 | - file = w32ldr_filename_to_mb (hModule ? ((W32LdrModule *)hModule)[-1].file | |
4746 | + file = w32ldr_filename_to_mb (hModule ? w32ldr_module_get_filename (hModule) | |
4745 | 4747 | : g_get_prgname ()); |
4746 | 4748 | g_strncpy (lpFilename, file, nSize); |
4747 | 4749 | g_free (file); |
@@ -4756,7 +4758,7 @@ | ||
4756 | 4758 | |
4757 | 4759 | if (!lpFilename || nSize <= 0) |
4758 | 4760 | return 0; |
4759 | - file = w32ldr_filename_to_wc (hModule ? ((W32LdrModule *)hModule)[-1].file | |
4761 | + file = w32ldr_filename_to_wc (hModule ? w32ldr_module_get_filename (hModule) | |
4760 | 4762 | : g_get_prgname ()); |
4761 | 4763 | lstrcpynW (lpFilename, file, nSize); |
4762 | 4764 | g_free (file); |
@@ -4767,13 +4769,13 @@ | ||
4767 | 4769 | /* GetModuleHandleA ordinal = 319, argument = 4 */ |
4768 | 4770 | HMODULE WINAPI GetModuleHandleA (LPCSTR lpModuleName) |
4769 | 4771 | { |
4772 | + gpointer memory; | |
4770 | 4773 | gchar *file; |
4771 | - W32LdrModule *module; | |
4772 | 4774 | |
4773 | 4775 | file = w32ldr_filename_from_mb (lpModuleName); |
4774 | - module = w32ldr_module_get_library (file); | |
4776 | + memory = w32ldr_module_get_library (file); | |
4775 | 4777 | g_free (file); |
4776 | - return module ? module + 1 : NULL; | |
4778 | + return memory; | |
4777 | 4779 | } |
4778 | 4780 | |
4779 | 4781 |
@@ -4780,13 +4782,13 @@ | ||
4780 | 4782 | /* GetModuleHandleW ordinal = 320, argument = 4 */ |
4781 | 4783 | HMODULE WINAPI GetModuleHandleW (LPCWSTR lpModuleName) |
4782 | 4784 | { |
4785 | + gpointer memory; | |
4783 | 4786 | gchar *file; |
4784 | - W32LdrModule *module; | |
4785 | 4787 | |
4786 | 4788 | file = w32ldr_filename_from_wc (lpModuleName); |
4787 | - module = w32ldr_module_get_library (file); | |
4789 | + memory = w32ldr_module_get_library (file); | |
4788 | 4790 | g_free (file); |
4789 | - return module ? module + 1 : NULL; | |
4791 | + return memory; | |
4790 | 4792 | } |
4791 | 4793 | |
4792 | 4794 |
@@ -4925,8 +4927,8 @@ | ||
4925 | 4927 | GKeyFile *key_file; |
4926 | 4928 | |
4927 | 4929 | tmp = w32ldr_filename_from_wc (lpFileName); |
4928 | - file = w32ldr_dir_get_filename (tmp, | |
4929 | - i == 0 ? W32LDR_DIR_HOME : W32LDR_DIR_DATA); | |
4930 | + file = peimage_dir_get_filename (tmp, | |
4931 | + i == 0 ? PEIMAGE_DIR_HOME : PEIMAGE_DIR_DATA); | |
4930 | 4932 | g_free (tmp); |
4931 | 4933 | key_file = g_key_file_new (); |
4932 | 4934 | g_key_file_load_from_file (key_file, file, G_KEY_FILE_NONE, NULL); |
@@ -4978,8 +4980,8 @@ | ||
4978 | 4980 | GKeyFile *key_file; |
4979 | 4981 | |
4980 | 4982 | key_file = g_key_file_new (); |
4981 | - tmp = w32ldr_dir_get_filename (file, | |
4982 | - i == 0 ? W32LDR_DIR_HOME : W32LDR_DIR_DATA); | |
4983 | + tmp = peimage_dir_get_filename (file, | |
4984 | + i == 0 ? PEIMAGE_DIR_HOME : PEIMAGE_DIR_DATA); | |
4983 | 4985 | g_key_file_load_from_file (key_file, tmp, G_KEY_FILE_NONE, NULL); |
4984 | 4986 | g_free (tmp); |
4985 | 4987 | groups = g_key_file_get_groups (key_file, NULL); |
@@ -5012,8 +5014,8 @@ | ||
5012 | 5014 | GKeyFile *key_file; |
5013 | 5015 | |
5014 | 5016 | key_file = g_key_file_new (); |
5015 | - tmp = w32ldr_dir_get_filename (file, | |
5016 | - i == 0 ? W32LDR_DIR_HOME : W32LDR_DIR_DATA); | |
5017 | + tmp = peimage_dir_get_filename (file, | |
5018 | + i == 0 ? PEIMAGE_DIR_HOME : PEIMAGE_DIR_DATA); | |
5017 | 5019 | g_key_file_load_from_file (key_file, tmp, G_KEY_FILE_NONE, NULL); |
5018 | 5020 | g_free (tmp); |
5019 | 5021 | groups = g_key_file_get_groups (key_file, NULL); |
@@ -5223,8 +5225,8 @@ | ||
5223 | 5225 | GKeyFile *key_file; |
5224 | 5226 | |
5225 | 5227 | key_file = g_key_file_new (); |
5226 | - tmp = w32ldr_dir_get_filename (file, | |
5227 | - i == 0 ? W32LDR_DIR_HOME : W32LDR_DIR_DATA); | |
5228 | + tmp = peimage_dir_get_filename (file, | |
5229 | + i == 0 ? PEIMAGE_DIR_HOME : PEIMAGE_DIR_DATA); | |
5228 | 5230 | g_key_file_load_from_file (key_file, tmp, G_KEY_FILE_NONE, NULL); |
5229 | 5231 | g_free (tmp); |
5230 | 5232 | groups = g_key_file_get_groups (key_file, NULL); |
@@ -5367,10 +5369,10 @@ | ||
5367 | 5369 | FARPROC WINAPI GetProcAddress (HMODULE hModule, LPCSTR lpProcName) |
5368 | 5370 | { |
5369 | 5371 | return hModule ? GPOINTER_TO_UINT (lpProcName) < 0x10000 |
5370 | - ? w32ldr_module_get_proc (((W32LdrModule *)hModule) - 1, | |
5372 | + ? peimage_file_get_proc ((const guint8 *)hModule, | |
5371 | 5373 | GPOINTER_TO_UINT (lpProcName)) |
5372 | - : w32ldr_module_get_func (((W32LdrModule *)hModule) - 1, lpProcName) | |
5373 | - : NULL; | |
5374 | + : peimage_file_get_func ((const guint8 *)hModule, lpProcName) | |
5375 | + : NULL; | |
5374 | 5376 | } |
5375 | 5377 | |
5376 | 5378 |
@@ -5691,7 +5693,7 @@ | ||
5691 | 5693 | gsize leng; |
5692 | 5694 | gchar *dir; |
5693 | 5695 | |
5694 | - dir = w32ldr_filename_to_mb (w32ldr_dir_get_path (W32LDR_DIR_SYSTEM)); | |
5696 | + dir = w32ldr_filename_to_mb (peimage_dir_get_path (PEIMAGE_DIR_SYSTEM)); | |
5695 | 5697 | leng = g_strlen (dir) + 1; |
5696 | 5698 | if (lpBuffer && uSize >= leng) |
5697 | 5699 | { |
@@ -5708,7 +5710,7 @@ | ||
5708 | 5710 | gsize leng; |
5709 | 5711 | gunichar2 *dir; |
5710 | 5712 | |
5711 | - dir = w32ldr_filename_to_wc (w32ldr_dir_get_path (W32LDR_DIR_SYSTEM)); | |
5713 | + dir = w32ldr_filename_to_wc (peimage_dir_get_path (PEIMAGE_DIR_SYSTEM)); | |
5712 | 5714 | leng = lstrlenW (dir) + 1; |
5713 | 5715 | if (lpBuffer && uSize >= leng) |
5714 | 5716 | { |
@@ -5888,7 +5890,7 @@ | ||
5888 | 5890 | gsize leng; |
5889 | 5891 | gchar *dir; |
5890 | 5892 | |
5891 | - dir = w32ldr_filename_to_mb (w32ldr_dir_get_path (W32LDR_DIR_TEMP)); | |
5893 | + dir = w32ldr_filename_to_mb (peimage_dir_get_path (PEIMAGE_DIR_TEMP)); | |
5892 | 5894 | leng = g_strlen (dir) + 1; |
5893 | 5895 | if (lpBuffer && nBufferLength >= leng) |
5894 | 5896 | { |
@@ -5905,7 +5907,7 @@ | ||
5905 | 5907 | gsize leng; |
5906 | 5908 | gunichar2 *dir; |
5907 | 5909 | |
5908 | - dir = w32ldr_filename_to_wc (w32ldr_dir_get_path (W32LDR_DIR_TEMP)); | |
5910 | + dir = w32ldr_filename_to_wc (peimage_dir_get_path (PEIMAGE_DIR_TEMP)); | |
5909 | 5911 | leng = lstrlenW (dir) + 1; |
5910 | 5912 | if (lpBuffer && nBufferLength >= leng) |
5911 | 5913 | { |
@@ -6890,14 +6892,14 @@ | ||
6890 | 6892 | /* LoadLibraryExA ordinal = 487, argument = 12 */ |
6891 | 6893 | HINSTANCE WINAPI LoadLibraryExA (LPCSTR lpLibFileName, HANDLE hFile, DWORD dwFlags) |
6892 | 6894 | { |
6895 | + gpointer memory; | |
6893 | 6896 | gchar *file; |
6894 | - W32LdrModule *module; | |
6895 | 6897 | |
6896 | 6898 | file = w32ldr_filename_from_mb (lpLibFileName); |
6897 | - module = w32ldr_module_load_library (file, | |
6898 | - dwFlags & LOAD_LIBRARY_AS_DATAFILE); | |
6899 | + memory = w32ldr_module_load_library (file, | |
6900 | + !(dwFlags & LOAD_LIBRARY_AS_DATAFILE)); | |
6899 | 6901 | g_free (file); |
6900 | - return module ? module + 1 : NULL; | |
6902 | + return memory; | |
6901 | 6903 | } |
6902 | 6904 | |
6903 | 6905 |
@@ -6904,14 +6906,14 @@ | ||
6904 | 6906 | /* LoadLibraryExW ordinal = 488, argument = 12 */ |
6905 | 6907 | HINSTANCE WINAPI LoadLibraryExW (LPCWSTR lpLibFileName, HANDLE hFile, DWORD dwFlags) |
6906 | 6908 | { |
6909 | + gpointer memory; | |
6907 | 6910 | gchar *file; |
6908 | - W32LdrModule *module; | |
6909 | 6911 | |
6910 | 6912 | file = w32ldr_filename_from_wc (lpLibFileName); |
6911 | - module = w32ldr_module_load_library (file, | |
6912 | - dwFlags & LOAD_LIBRARY_AS_DATAFILE); | |
6913 | + memory = w32ldr_module_load_library (file, | |
6914 | + !(dwFlags & LOAD_LIBRARY_AS_DATAFILE)); | |
6913 | 6915 | g_free (file); |
6914 | - return module ? module + 1 : NULL; | |
6916 | + return memory; | |
6915 | 6917 | } |
6916 | 6918 | |
6917 | 6919 |
@@ -6932,7 +6934,8 @@ | ||
6932 | 6934 | /* LoadResource ordinal = 491, argument = 8 */ |
6933 | 6935 | HGLOBAL WINAPI LoadResource (HMODULE hModule, HRSRC hResInfo) |
6934 | 6936 | { |
6935 | - return (LPDWORD)hResInfo + 1; | |
6937 | + return hModule && hResInfo ? (LPBYTE)hModule | |
6938 | + + ((PIMAGE_RESOURCE_DATA_ENTRY)hResInfo)->OffsetToData : NULL; | |
6936 | 6939 | } |
6937 | 6940 | |
6938 | 6941 |
@@ -8993,7 +8996,7 @@ | ||
8993 | 8996 | /* SizeofResource ordinal = 713, argument = 8 */ |
8994 | 8997 | DWORD WINAPI SizeofResource (HMODULE hModule, HRSRC hResInfo) |
8995 | 8998 | { |
8996 | - return *(LPDWORD)hResInfo; | |
8999 | + return hResInfo ? ((PIMAGE_RESOURCE_DATA_ENTRY)hResInfo)->Size : 0; | |
8997 | 9000 | } |
8998 | 9001 | |
8999 | 9002 |
@@ -10017,7 +10020,7 @@ | ||
10017 | 10020 | str = lpString ? g_utf16_to_utf8 (lpString, -1, NULL, NULL, NULL) : NULL; |
10018 | 10021 | tmp = w32ldr_filename_from_wc (lpFileName); |
10019 | 10022 | g_free (tmp); |
10020 | - file = w32ldr_dir_get_filename (tmp, W32LDR_DIR_HOME); | |
10023 | + file = peimage_dir_get_filename (tmp, PEIMAGE_DIR_HOME); | |
10021 | 10024 | key_file = g_key_file_new (); |
10022 | 10025 | g_key_file_load_from_file (key_file, file, G_KEY_FILE_NONE, NULL); |
10023 | 10026 | groups = g_key_file_get_groups (key_file, NULL); |
@@ -10353,7 +10356,8 @@ | ||
10353 | 10356 | { |
10354 | 10357 | if (!lpString1 || !lpString2) |
10355 | 10358 | return NULL; |
10356 | - g_memmove (lpString1, lpString2, lstrlenW (lpString2) * sizeof (gunichar2)); | |
10359 | + g_memmove (lpString1, lpString2, | |
10360 | + (lstrlenW (lpString2) + 1) * sizeof (gunichar2)); | |
10357 | 10361 | return lpString1; |
10358 | 10362 | } |
10359 | 10363 |
@@ -10409,834 +10413,834 @@ | ||
10409 | 10413 | } |
10410 | 10414 | |
10411 | 10415 | |
10412 | -W32LdrExport kernel32_exports[] = { | |
10413 | -{TRUE, 1, "AddAtomA", AddAtomA}, | |
10414 | -{TRUE, 2, "AddAtomW", AddAtomW}, | |
10415 | -{FALSE, 3, "AddConsoleAliasA", AddConsoleAliasA}, | |
10416 | -{FALSE, 4, "AddConsoleAliasW", AddConsoleAliasW}, | |
10417 | -{TRUE, 5, "AllocConsole", AllocConsole}, | |
10418 | -{FALSE, 6, "AllocateUserPhysicalPages", AllocateUserPhysicalPages}, | |
10419 | -{FALSE, 7, "AreFileApisANSI", AreFileApisANSI}, | |
10420 | -{FALSE, 8, "AssignProcessToJobObject", AssignProcessToJobObject}, | |
10421 | -{FALSE, 9, "BackupRead", BackupRead}, | |
10422 | -{FALSE, 10, "BackupSeek", BackupSeek}, | |
10423 | -{FALSE, 11, "BackupWrite", BackupWrite}, | |
10424 | -{FALSE, 12, "BaseAttachCompleteThunk", BaseAttachCompleteThunk}, | |
10425 | -{FALSE, 13, "Beep", Beep}, | |
10426 | -{FALSE, 14, "BeginUpdateResourceA", BeginUpdateResourceA}, | |
10427 | -{FALSE, 15, "BeginUpdateResourceW", BeginUpdateResourceW}, | |
10428 | -{FALSE, 16, "BindIoCompletionCallback", BindIoCompletionCallback}, | |
10429 | -{FALSE, 17, "BuildCommDCBA", BuildCommDCBA}, | |
10430 | -{FALSE, 18, "BuildCommDCBAndTimeoutsA", BuildCommDCBAndTimeoutsA}, | |
10431 | -{FALSE, 19, "BuildCommDCBAndTimeoutsW", BuildCommDCBAndTimeoutsW}, | |
10432 | -{FALSE, 20, "BuildCommDCBW", BuildCommDCBW}, | |
10433 | -{FALSE, 21, "CallNamedPipeA", CallNamedPipeA}, | |
10434 | -{FALSE, 22, "CallNamedPipeW", CallNamedPipeW}, | |
10435 | -{FALSE, 23, "CancelDeviceWakeupRequest", CancelDeviceWakeupRequest}, | |
10436 | -{FALSE, 24, "CancelIo", CancelIo}, | |
10437 | -{FALSE, 25, "CancelTimerQueueTimer", CancelTimerQueueTimer}, | |
10438 | -{FALSE, 26, "CancelWaitableTimer", CancelWaitableTimer}, | |
10439 | -{FALSE, 27, "ChangeTimerQueueTimer", ChangeTimerQueueTimer}, | |
10440 | -{FALSE, 28, "ClearCommBreak", ClearCommBreak}, | |
10441 | -{FALSE, 29, "ClearCommError", ClearCommError}, | |
10442 | -{FALSE, 30, "CloseConsoleHandle", CloseConsoleHandle}, | |
10443 | -{TRUE, 31, "CloseHandle", CloseHandle}, | |
10444 | -{FALSE, 32, "CloseProfileUserMapping", CloseProfileUserMapping}, | |
10445 | -{FALSE, 33, "CmdBatNotification", CmdBatNotification}, | |
10446 | -{FALSE, 34, "CommConfigDialogA", CommConfigDialogA}, | |
10447 | -{FALSE, 35, "CommConfigDialogW", CommConfigDialogW}, | |
10448 | -{TRUE, 36, "CompareFileTime", CompareFileTime}, | |
10449 | -{TRUE, 37, "CompareStringA", CompareStringA}, | |
10450 | -{TRUE, 38, "CompareStringW", CompareStringW}, | |
10451 | -{FALSE, 39, "ConnectNamedPipe", ConnectNamedPipe}, | |
10452 | -{FALSE, 40, "ConsoleMenuControl", ConsoleMenuControl}, | |
10453 | -{FALSE, 41, "ContinueDebugEvent", ContinueDebugEvent}, | |
10454 | -{FALSE, 42, "ConvertDefaultLocale", ConvertDefaultLocale}, | |
10455 | -{FALSE, 43, "ConvertThreadToFiber", ConvertThreadToFiber}, | |
10456 | -{TRUE, 44, "CopyFileA", CopyFileA}, | |
10457 | -{FALSE, 45, "CopyFileExA", CopyFileExA}, | |
10458 | -{FALSE, 46, "CopyFileExW", CopyFileExW}, | |
10459 | -{TRUE, 47, "CopyFileW", CopyFileW}, | |
10460 | -{FALSE, 48, "CreateConsoleScreenBuffer", CreateConsoleScreenBuffer}, | |
10461 | -{TRUE, 49, "CreateDirectoryA", CreateDirectoryA}, | |
10462 | -{FALSE, 50, "CreateDirectoryExA", CreateDirectoryExA}, | |
10463 | -{FALSE, 51, "CreateDirectoryExW", CreateDirectoryExW}, | |
10464 | -{TRUE, 52, "CreateDirectoryW", CreateDirectoryW}, | |
10465 | -{TRUE, 53, "CreateEventA", CreateEventA}, | |
10466 | -{TRUE, 54, "CreateEventW", CreateEventW}, | |
10467 | -{FALSE, 55, "CreateFiber", CreateFiber}, | |
10468 | -{FALSE, 56, "CreateFiberEx", CreateFiberEx}, | |
10469 | -{TRUE, 57, "CreateFileA", CreateFileA}, | |
10470 | -{TRUE, 58, "CreateFileMappingA", CreateFileMappingA}, | |
10471 | -{TRUE, 59, "CreateFileMappingW", CreateFileMappingW}, | |
10472 | -{TRUE, 60, "CreateFileW", CreateFileW}, | |
10473 | -{FALSE, 61, "CreateHardLinkA", CreateHardLinkA}, | |
10474 | -{FALSE, 62, "CreateHardLinkW", CreateHardLinkW}, | |
10475 | -{FALSE, 63, "CreateIoCompletionPort", CreateIoCompletionPort}, | |
10476 | -{FALSE, 64, "CreateJobObjectA", CreateJobObjectA}, | |
10477 | -{FALSE, 65, "CreateJobObjectW", CreateJobObjectW}, | |
10478 | -{FALSE, 66, "CreateMailslotA", CreateMailslotA}, | |
10479 | -{FALSE, 67, "CreateMailslotW", CreateMailslotW}, | |
10480 | -{TRUE, 68, "CreateMutexA", CreateMutexA}, | |
10481 | -{TRUE, 69, "CreateMutexW", CreateMutexW}, | |
10482 | -{FALSE, 70, "CreateNamedPipeA", CreateNamedPipeA}, | |
10483 | -{FALSE, 71, "CreateNamedPipeW", CreateNamedPipeW}, | |
10484 | -{FALSE, 72, "CreatePipe", CreatePipe}, | |
10485 | -{TRUE, 73, "CreateProcessA", CreateProcessA}, | |
10486 | -{FALSE, 74, "CreateProcessInternalA", CreateProcessInternalA}, | |
10487 | -{FALSE, 75, "CreateProcessInternalW", CreateProcessInternalW}, | |
10488 | -{FALSE, 76, "CreateProcessInternalWSecure", CreateProcessInternalWSecure}, | |
10489 | -{TRUE, 77, "CreateProcessW", CreateProcessW}, | |
10490 | -{FALSE, 78, "CreateRemoteThread", CreateRemoteThread}, | |
10491 | -{TRUE, 79, "CreateSemaphoreA", CreateSemaphoreA}, | |
10492 | -{TRUE, 80, "CreateSemaphoreW", CreateSemaphoreW}, | |
10493 | -{FALSE, 81, "CreateTapePartition", CreateTapePartition}, | |
10494 | -{TRUE, 82, "CreateThread", CreateThread}, | |
10495 | -{FALSE, 83, "CreateTimerQueue", CreateTimerQueue}, | |
10496 | -{FALSE, 84, "CreateTimerQueueTimer", CreateTimerQueueTimer}, | |
10497 | -{FALSE, 85, "CreateToolhelp32Snapshot", CreateToolhelp32Snapshot}, | |
10498 | -{FALSE, 86, "CreateVirtualBuffer", CreateVirtualBuffer}, | |
10499 | -{FALSE, 87, "CreateWaitableTimerA", CreateWaitableTimerA}, | |
10500 | -{FALSE, 88, "CreateWaitableTimerW", CreateWaitableTimerW}, | |
10501 | -{FALSE, 89, "DebugActiveProcess", DebugActiveProcess}, | |
10502 | -{FALSE, 90, "DebugBreak", DebugBreak}, | |
10503 | -{FALSE, 91, "DefineDosDeviceA", DefineDosDeviceA}, | |
10504 | -{FALSE, 92, "DefineDosDeviceW", DefineDosDeviceW}, | |
10505 | -{FALSE, 93, "DelayLoadFailureHook", DelayLoadFailureHook}, | |
10506 | -{TRUE, 94, "DeleteAtom", DeleteAtom}, | |
10507 | -{TRUE, 95, "DeleteCriticalSection", DeleteCriticalSection}, | |
10508 | -{FALSE, 96, "DeleteFiber", DeleteFiber}, | |
10509 | -{TRUE, 97, "DeleteFileA", DeleteFileA}, | |
10510 | -{TRUE, 98, "DeleteFileW", DeleteFileW}, | |
10511 | -{FALSE, 99, "DeleteTimerQueue", DeleteTimerQueue}, | |
10512 | -{FALSE, 100, "DeleteTimerQueueEx", DeleteTimerQueueEx}, | |
10513 | -{FALSE, 101, "DeleteTimerQueueTimer", DeleteTimerQueueTimer}, | |
10514 | -{FALSE, 102, "DeleteVolumeMountPointA", DeleteVolumeMountPointA}, | |
10515 | -{FALSE, 103, "DeleteVolumeMountPointW", DeleteVolumeMountPointW}, | |
10516 | -{FALSE, 104, "DeviceIoControl", DeviceIoControl}, | |
10517 | -{TRUE, 105, "DisableThreadLibraryCalls", DisableThreadLibraryCalls}, | |
10518 | -{FALSE, 106, "DisconnectNamedPipe", DisconnectNamedPipe}, | |
10519 | -{FALSE, 107, "DnsHostnameToComputerNameA", DnsHostnameToComputerNameA}, | |
10520 | -{FALSE, 108, "DnsHostnameToComputerNameW", DnsHostnameToComputerNameW}, | |
10521 | -{FALSE, 109, "DosDateTimeToFileTime", DosDateTimeToFileTime}, | |
10522 | -{FALSE, 110, "DosPathToSessionPathA", DosPathToSessionPathA}, | |
10523 | -{FALSE, 111, "DosPathToSessionPathW", DosPathToSessionPathW}, | |
10524 | -{FALSE, 112, "DuplicateConsoleHandle", DuplicateConsoleHandle}, | |
10525 | -{FALSE, 113, "DuplicateHandle", DuplicateHandle}, | |
10526 | -{FALSE, 114, "EndUpdateResourceA", EndUpdateResourceA}, | |
10527 | -{FALSE, 115, "EndUpdateResourceW", EndUpdateResourceW}, | |
10528 | -{TRUE, 116, "EnterCriticalSection", EnterCriticalSection}, | |
10529 | -{TRUE, 117, "EnumCalendarInfoA", EnumCalendarInfoA}, | |
10530 | -{FALSE, 118, "EnumCalendarInfoExA", EnumCalendarInfoExA}, | |
10531 | -{FALSE, 119, "EnumCalendarInfoExW", EnumCalendarInfoExW}, | |
10532 | -{TRUE, 120, "EnumCalendarInfoW", EnumCalendarInfoW}, | |
10533 | -{FALSE, 121, "EnumDateFormatsA", EnumDateFormatsA}, | |
10534 | -{FALSE, 122, "EnumDateFormatsExA", EnumDateFormatsExA}, | |
10535 | -{FALSE, 123, "EnumDateFormatsExW", EnumDateFormatsExW}, | |
10536 | -{FALSE, 124, "EnumDateFormatsW", EnumDateFormatsW}, | |
10537 | -{FALSE, 125, "EnumLanguageGroupLocalesA", EnumLanguageGroupLocalesA}, | |
10538 | -{FALSE, 126, "EnumLanguageGroupLocalesW", EnumLanguageGroupLocalesW}, | |
10539 | -{FALSE, 127, "EnumResourceLanguagesA", EnumResourceLanguagesA}, | |
10540 | -{FALSE, 128, "EnumResourceLanguagesW", EnumResourceLanguagesW}, | |
10541 | -{FALSE, 129, "EnumResourceNamesA", EnumResourceNamesA}, | |
10542 | -{FALSE, 130, "EnumResourceNamesW", EnumResourceNamesW}, | |
10543 | -{FALSE, 131, "EnumResourceTypesA", EnumResourceTypesA}, | |
10544 | -{FALSE, 132, "EnumResourceTypesW", EnumResourceTypesW}, | |
10545 | -{FALSE, 133, "EnumSystemCodePagesA", EnumSystemCodePagesA}, | |
10546 | -{FALSE, 134, "EnumSystemCodePagesW", EnumSystemCodePagesW}, | |
10547 | -{FALSE, 135, "EnumSystemLanguageGroupsA", EnumSystemLanguageGroupsA}, | |
10548 | -{FALSE, 136, "EnumSystemLanguageGroupsW", EnumSystemLanguageGroupsW}, | |
10549 | -{FALSE, 137, "EnumSystemLocalesA", EnumSystemLocalesA}, | |
10550 | -{FALSE, 138, "EnumSystemLocalesW", EnumSystemLocalesW}, | |
10551 | -{FALSE, 139, "EnumTimeFormatsA", EnumTimeFormatsA}, | |
10552 | -{FALSE, 140, "EnumTimeFormatsW", EnumTimeFormatsW}, | |
10553 | -{FALSE, 141, "EnumUILanguagesA", EnumUILanguagesA}, | |
10554 | -{FALSE, 142, "EnumUILanguagesW", EnumUILanguagesW}, | |
10555 | -{FALSE, 143, "EraseTape", EraseTape}, | |
10556 | -{FALSE, 144, "EscapeCommFunction", EscapeCommFunction}, | |
10557 | -{TRUE, 145, "ExitProcess", ExitProcess}, | |
10558 | -{TRUE, 146, "ExitThread", ExitThread}, | |
10559 | -{FALSE, 147, "ExitVDM", ExitVDM}, | |
10560 | -{FALSE, 148, "ExpandEnvironmentStringsA", ExpandEnvironmentStringsA}, | |
10561 | -{FALSE, 149, "ExpandEnvironmentStringsW", ExpandEnvironmentStringsW}, | |
10562 | -{FALSE, 150, "ExpungeConsoleCommandHistoryA", ExpungeConsoleCommandHistoryA}, | |
10563 | -{FALSE, 151, "ExpungeConsoleCommandHistoryW", ExpungeConsoleCommandHistoryW}, | |
10564 | -{FALSE, 152, "ExtendVirtualBuffer", ExtendVirtualBuffer}, | |
10565 | -{FALSE, 153, "FatalAppExitA", FatalAppExitA}, | |
10566 | -{FALSE, 154, "FatalAppExitW", FatalAppExitW}, | |
10567 | -{FALSE, 155, "FatalExit", FatalExit}, | |
10568 | -{FALSE, 156, "FileTimeToDosDateTime", FileTimeToDosDateTime}, | |
10569 | -{TRUE, 157, "FileTimeToLocalFileTime", FileTimeToLocalFileTime}, | |
10570 | -{TRUE, 158, "FileTimeToSystemTime", FileTimeToSystemTime}, | |
10571 | -{FALSE, 159, "FillConsoleOutputAttribute", FillConsoleOutputAttribute}, | |
10572 | -{FALSE, 160, "FillConsoleOutputCharacterA", FillConsoleOutputCharacterA}, | |
10573 | -{FALSE, 161, "FillConsoleOutputCharacterW", FillConsoleOutputCharacterW}, | |
10574 | -{TRUE, 162, "FindAtomA", FindAtomA}, | |
10575 | -{TRUE, 163, "FindAtomW", FindAtomW}, | |
10576 | -{TRUE, 164, "FindClose", FindClose}, | |
10577 | -{FALSE, 165, "FindCloseChangeNotification", FindCloseChangeNotification}, | |
10578 | -{FALSE, 166, "FindFirstChangeNotificationA", FindFirstChangeNotificationA}, | |
10579 | -{FALSE, 167, "FindFirstChangeNotificationW", FindFirstChangeNotificationW}, | |
10580 | -{TRUE, 168, "FindFirstFileA", FindFirstFileA}, | |
10581 | -{FALSE, 169, "FindFirstFileExA", FindFirstFileExA}, | |
10582 | -{FALSE, 170, "FindFirstFileExW", FindFirstFileExW}, | |
10583 | -{TRUE, 171, "FindFirstFileW", FindFirstFileW}, | |
10584 | -{FALSE, 172, "FindFirstVolumeA", FindFirstVolumeA}, | |
10585 | -{FALSE, 173, "FindFirstVolumeMountPointA", FindFirstVolumeMountPointA}, | |
10586 | -{FALSE, 174, "FindFirstVolumeMountPointW", FindFirstVolumeMountPointW}, | |
10587 | -{FALSE, 175, "FindFirstVolumeW", FindFirstVolumeW}, | |
10588 | -{FALSE, 176, "FindNextChangeNotification", FindNextChangeNotification}, | |
10589 | -{TRUE, 177, "FindNextFileA", FindNextFileA}, | |
10590 | -{TRUE, 178, "FindNextFileW", FindNextFileW}, | |
10591 | -{FALSE, 179, "FindNextVolumeA", FindNextVolumeA}, | |
10592 | -{FALSE, 180, "FindNextVolumeMountPointA", FindNextVolumeMountPointA}, | |
10593 | -{FALSE, 181, "FindNextVolumeMountPointW", FindNextVolumeMountPointW}, | |
10594 | -{FALSE, 182, "FindNextVolumeW", FindNextVolumeW}, | |
10595 | -{TRUE, 183, "FindResourceA", FindResourceA}, | |
10596 | -{TRUE, 184, "FindResourceExA", FindResourceExA}, | |
10597 | -{TRUE, 185, "FindResourceExW", FindResourceExW}, | |
10598 | -{TRUE, 186, "FindResourceW", FindResourceW}, | |
10599 | -{FALSE, 187, "FindVolumeClose", FindVolumeClose}, | |
10600 | -{FALSE, 188, "FindVolumeMountPointClose", FindVolumeMountPointClose}, | |
10601 | -{FALSE, 189, "FlushConsoleInputBuffer", FlushConsoleInputBuffer}, | |
10602 | -{TRUE, 190, "FlushFileBuffers", FlushFileBuffers}, | |
10603 | -{FALSE, 191, "FlushInstructionCache", FlushInstructionCache}, | |
10604 | -{FALSE, 192, "FlushViewOfFile", FlushViewOfFile}, | |
10605 | -{FALSE, 193, "FoldStringA", FoldStringA}, | |
10606 | -{FALSE, 194, "FoldStringW", FoldStringW}, | |
10607 | -{FALSE, 195, "FormatMessageA", FormatMessageA}, | |
10608 | -{FALSE, 196, "FormatMessageW", FormatMessageW}, | |
10609 | -{FALSE, 197, "FreeConsole", FreeConsole}, | |
10610 | -{TRUE, 198, "FreeEnvironmentStringsA", FreeEnvironmentStringsA}, | |
10611 | -{TRUE, 199, "FreeEnvironmentStringsW", FreeEnvironmentStringsW}, | |
10612 | -{TRUE, 200, "FreeLibrary", FreeLibrary}, | |
10613 | -{FALSE, 201, "FreeLibraryAndExitThread", FreeLibraryAndExitThread}, | |
10614 | -{TRUE, 202, "FreeResource", FreeResource}, | |
10615 | -{FALSE, 203, "FreeUserPhysicalPages", FreeUserPhysicalPages}, | |
10616 | -{FALSE, 204, "FreeVirtualBuffer", FreeVirtualBuffer}, | |
10617 | -{FALSE, 205, "GenerateConsoleCtrlEvent", GenerateConsoleCtrlEvent}, | |
10618 | -{TRUE, 206, "GetACP", GetACP}, | |
10619 | -{TRUE, 207, "GetAtomNameA", GetAtomNameA}, | |
10620 | -{TRUE, 208, "GetAtomNameW", GetAtomNameW}, | |
10621 | -{FALSE, 209, "GetBinaryType", GetBinaryTypeA}, | |
10622 | -{FALSE, 210, "GetBinaryTypeA", GetBinaryTypeA}, | |
10623 | -{FALSE, 211, "GetBinaryTypeW", GetBinaryTypeW}, | |
10624 | -{TRUE, 212, "GetCPInfo", GetCPInfo}, | |
10625 | -{TRUE, 213, "GetCPInfoExA", GetCPInfoExA}, | |
10626 | -{TRUE, 214, "GetCPInfoExW", GetCPInfoExW}, | |
10627 | -{FALSE, 215, "GetCalendarInfoA", GetCalendarInfoA}, | |
10628 | -{FALSE, 216, "GetCalendarInfoW", GetCalendarInfoW}, | |
10629 | -{FALSE, 217, "GetCommConfig", GetCommConfig}, | |
10630 | -{FALSE, 218, "GetCommMask", GetCommMask}, | |
10631 | -{FALSE, 219, "GetCommModemStatus", GetCommModemStatus}, | |
10632 | -{FALSE, 220, "GetCommProperties", GetCommProperties}, | |
10633 | -{FALSE, 221, "GetCommState", GetCommState}, | |
10634 | -{FALSE, 222, "GetCommTimeouts", GetCommTimeouts}, | |
10635 | -{TRUE, 223, "GetCommandLineA", GetCommandLineA}, | |
10636 | -{TRUE, 224, "GetCommandLineW", GetCommandLineW}, | |
10637 | -{FALSE, 225, "GetCompressedFileSizeA", GetCompressedFileSizeA}, | |
10638 | -{FALSE, 226, "GetCompressedFileSizeW", GetCompressedFileSizeW}, | |
10639 | -{FALSE, 227, "GetComputerNameA", GetComputerNameA}, | |
10640 | -{FALSE, 228, "GetComputerNameExA", GetComputerNameExA}, | |
10641 | -{FALSE, 229, "GetComputerNameExW", GetComputerNameExW}, | |
10642 | -{FALSE, 230, "GetComputerNameW", GetComputerNameW}, | |
10643 | -{FALSE, 231, "GetConsoleAliasA", GetConsoleAliasA}, | |
10644 | -{FALSE, 232, "GetConsoleAliasExesA", GetConsoleAliasExesA}, | |
10645 | -{FALSE, 233, "GetConsoleAliasExesLengthA", GetConsoleAliasExesLengthA}, | |
10646 | -{FALSE, 234, "GetConsoleAliasExesLengthW", GetConsoleAliasExesLengthW}, | |
10647 | -{FALSE, 235, "GetConsoleAliasExesW", GetConsoleAliasExesW}, | |
10648 | -{FALSE, 236, "GetConsoleAliasW", GetConsoleAliasW}, | |
10649 | -{FALSE, 237, "GetConsoleAliasesA", GetConsoleAliasesA}, | |
10650 | -{FALSE, 238, "GetConsoleAliasesLengthA", GetConsoleAliasesLengthA}, | |
10651 | -{FALSE, 239, "GetConsoleAliasesLengthW", GetConsoleAliasesLengthW}, | |
10652 | -{FALSE, 240, "GetConsoleAliasesW", GetConsoleAliasesW}, | |
10653 | -{FALSE, 241, "GetConsoleCP", GetConsoleCP}, | |
10654 | -{FALSE, 242, "GetConsoleCharType", GetConsoleCharType}, | |
10655 | -{FALSE, 243, "GetConsoleCommandHistoryA", GetConsoleCommandHistoryA}, | |
10656 | -{FALSE, 244, "GetConsoleCommandHistoryLengthA", GetConsoleCommandHistoryLengthA}, | |
10657 | -{FALSE, 245, "GetConsoleCommandHistoryLengthW", GetConsoleCommandHistoryLengthW}, | |
10658 | -{FALSE, 246, "GetConsoleCommandHistoryW", GetConsoleCommandHistoryW}, | |
10659 | -{FALSE, 247, "GetConsoleCursorInfo", GetConsoleCursorInfo}, | |
10660 | -{FALSE, 248, "GetConsoleCursorMode", GetConsoleCursorMode}, | |
10661 | -{FALSE, 249, "GetConsoleDisplayMode", GetConsoleDisplayMode}, | |
10662 | -{FALSE, 250, "GetConsoleFontInfo", GetConsoleFontInfo}, | |
10663 | -{FALSE, 251, "GetConsoleFontSize", GetConsoleFontSize}, | |
10664 | -{FALSE, 252, "GetConsoleHardwareState", GetConsoleHardwareState}, | |
10665 | -{FALSE, 253, "GetConsoleInputExeNameA", GetConsoleInputExeNameA}, | |
10666 | -{FALSE, 254, "GetConsoleInputExeNameW", GetConsoleInputExeNameW}, | |
10667 | -{FALSE, 255, "GetConsoleInputWaitHandle", GetConsoleInputWaitHandle}, | |
10668 | -{FALSE, 256, "GetConsoleKeyboardLayoutNameA", GetConsoleKeyboardLayoutNameA}, | |
10669 | -{FALSE, 257, "GetConsoleKeyboardLayoutNameW", GetConsoleKeyboardLayoutNameW}, | |
10670 | -{FALSE, 258, "GetConsoleMode", GetConsoleMode}, | |
10671 | -{FALSE, 259, "GetConsoleNlsMode", GetConsoleNlsMode}, | |
10672 | -{FALSE, 260, "GetConsoleOutputCP", GetConsoleOutputCP}, | |
10673 | -{FALSE, 261, "GetConsoleScreenBufferInfo", GetConsoleScreenBufferInfo}, | |
10674 | -{FALSE, 262, "GetConsoleTitleA", GetConsoleTitleA}, | |
10675 | -{FALSE, 263, "GetConsoleTitleW", GetConsoleTitleW}, | |
10676 | -{FALSE, 264, "GetConsoleWindow", GetConsoleWindow}, | |
10677 | -{FALSE, 265, "GetCurrencyFormatA", GetCurrencyFormatA}, | |
10678 | -{FALSE, 266, "GetCurrencyFormatW", GetCurrencyFormatW}, | |
10679 | -{FALSE, 267, "GetCurrentConsoleFont", GetCurrentConsoleFont}, | |
10680 | -{TRUE, 268, "GetCurrentDirectoryA", GetCurrentDirectoryA}, | |
10681 | -{TRUE, 269, "GetCurrentDirectoryW", GetCurrentDirectoryW}, | |
10682 | -{TRUE, 270, "GetCurrentProcess", GetCurrentProcess}, | |
10683 | -{FALSE, 271, "GetCurrentProcessId", GetCurrentProcessId}, | |
10684 | -{TRUE, 272, "GetCurrentThread", GetCurrentThread}, | |
10685 | -{TRUE, 273, "GetCurrentThreadId", GetCurrentThreadId}, | |
10686 | -{FALSE, 274, "GetDateFormatA", GetDateFormatA}, | |
10687 | -{FALSE, 275, "GetDateFormatW", GetDateFormatW}, | |
10688 | -{FALSE, 276, "GetDefaultCommConfigA", GetDefaultCommConfigA}, | |
10689 | -{FALSE, 277, "GetDefaultCommConfigW", GetDefaultCommConfigW}, | |
10690 | -{FALSE, 278, "GetDefaultSortkeySize", GetDefaultSortkeySize}, | |
10691 | -{FALSE, 279, "GetDevicePowerState", GetDevicePowerState}, | |
10692 | -{TRUE, 280, "GetDiskFreeSpaceA", GetDiskFreeSpaceA}, | |
10693 | -{TRUE, 281, "GetDiskFreeSpaceExA", GetDiskFreeSpaceExA}, | |
10694 | -{TRUE, 282, "GetDiskFreeSpaceExW", GetDiskFreeSpaceExW}, | |
10695 | -{TRUE, 283, "GetDiskFreeSpaceW", GetDiskFreeSpaceW}, | |
10696 | -{FALSE, 284, "GetDriveTypeA", GetDriveTypeA}, | |
10697 | -{FALSE, 285, "GetDriveTypeW", GetDriveTypeW}, | |
10698 | -{TRUE, 286, "GetEnvironmentStrings", GetEnvironmentStringsA}, | |
10699 | -{TRUE, 287, "GetEnvironmentStringsA", GetEnvironmentStringsA}, | |
10700 | -{TRUE, 288, "GetEnvironmentStringsW", GetEnvironmentStringsW}, | |
10701 | -{TRUE, 289, "GetEnvironmentVariableA", GetEnvironmentVariableA}, | |
10702 | -{TRUE, 290, "GetEnvironmentVariableW", GetEnvironmentVariableW}, | |
10703 | -{FALSE, 291, "GetExitCodeProcess", GetExitCodeProcess}, | |
10704 | -{FALSE, 292, "GetExitCodeThread", GetExitCodeThread}, | |
10705 | -{TRUE, 293, "GetFileAttributesA", GetFileAttributesA}, | |
10706 | -{FALSE, 294, "GetFileAttributesExA", GetFileAttributesExA}, | |
10707 | -{FALSE, 295, "GetFileAttributesExW", GetFileAttributesExW}, | |
10708 | -{TRUE, 296, "GetFileAttributesW", GetFileAttributesW}, | |
10709 | -{FALSE, 297, "GetFileInformationByHandle", GetFileInformationByHandle}, | |
10710 | -{TRUE, 298, "GetFileSize", GetFileSize}, | |
10711 | -{FALSE, 299, "GetFileSizeEx", GetFileSizeEx}, | |
10712 | -{TRUE, 300, "GetFileTime", GetFileTime}, | |
10713 | -{TRUE, 301, "GetFileType", GetFileType}, | |
10714 | -{TRUE, 302, "GetFullPathNameA", GetFullPathNameA}, | |
10715 | -{TRUE, 303, "GetFullPathNameW", GetFullPathNameW}, | |
10716 | -{FALSE, 304, "GetHandleInformation", GetHandleInformation}, | |
10717 | -{FALSE, 305, "GetLargestConsoleWindowSize", GetLargestConsoleWindowSize}, | |
10718 | -{TRUE, 306, "GetLastError", GetLastError}, | |
10719 | -{FALSE, 307, "GetLinguistLangSize", GetLinguistLangSize}, | |
10720 | -{TRUE, 308, "GetLocalTime", GetLocalTime}, | |
10721 | -{TRUE, 309, "GetLocaleInfoA", GetLocaleInfoA}, | |
10722 | -{TRUE, 310, "GetLocaleInfoW", GetLocaleInfoW}, | |
10723 | -{TRUE, 311, "GetLogicalDriveStringsA", GetLogicalDriveStringsA}, | |
10724 | -{TRUE, 312, "GetLogicalDriveStringsW", GetLogicalDriveStringsW}, | |
10725 | -{FALSE, 313, "GetLogicalDrives", GetLogicalDrives}, | |
10726 | -{FALSE, 314, "GetLongPathNameA", GetLongPathNameA}, | |
10727 | -{FALSE, 315, "GetLongPathNameW", GetLongPathNameW}, | |
10728 | -{FALSE, 316, "GetMailslotInfo", GetMailslotInfo}, | |
10729 | -{TRUE, 317, "GetModuleFileNameA", GetModuleFileNameA}, | |
10730 | -{TRUE, 318, "GetModuleFileNameW", GetModuleFileNameW}, | |
10731 | -{TRUE, 319, "GetModuleHandleA", GetModuleHandleA}, | |
10732 | -{TRUE, 320, "GetModuleHandleW", GetModuleHandleW}, | |
10733 | -{FALSE, 321, "GetNamedPipeHandleStateA", GetNamedPipeHandleStateA}, | |
10734 | -{FALSE, 322, "GetNamedPipeHandleStateW", GetNamedPipeHandleStateW}, | |
10735 | -{FALSE, 323, "GetNamedPipeInfo", GetNamedPipeInfo}, | |
10736 | -{FALSE, 324, "GetNextVDMCommand", GetNextVDMCommand}, | |
10737 | -{FALSE, 325, "GetNlsSectionName", GetNlsSectionName}, | |
10738 | -{FALSE, 326, "GetNumberFormatA", GetNumberFormatA}, | |
10739 | -{FALSE, 327, "GetNumberFormatW", GetNumberFormatW}, | |
10740 | -{FALSE, 328, "GetNumberOfConsoleFonts", GetNumberOfConsoleFonts}, | |
10741 | -{FALSE, 329, "GetNumberOfConsoleInputEvents", GetNumberOfConsoleInputEvents}, | |
10742 | -{FALSE, 330, "GetNumberOfConsoleMouseButtons", GetNumberOfConsoleMouseButtons}, | |
10743 | -{TRUE, 331, "GetOEMCP", GetOEMCP}, | |
10744 | -{FALSE, 332, "GetOverlappedResult", GetOverlappedResult}, | |
10745 | -{FALSE, 333, "GetPriorityClass", GetPriorityClass}, | |
10746 | -{TRUE, 334, "GetPrivateProfileIntA", GetPrivateProfileIntA}, | |
10747 | -{TRUE, 335, "GetPrivateProfileIntW", GetPrivateProfileIntW}, | |
10748 | -{TRUE, 336, "GetPrivateProfileSectionA", GetPrivateProfileSectionA}, | |
10749 | -{TRUE, 337, "GetPrivateProfileSectionNamesA", GetPrivateProfileSectionNamesA}, | |
10750 | -{FALSE, 338, "GetPrivateProfileSectionNamesW", GetPrivateProfileSectionNamesW}, | |
10751 | -{TRUE, 339, "GetPrivateProfileSectionW", GetPrivateProfileSectionW}, | |
10752 | -{TRUE, 340, "GetPrivateProfileStringA", GetPrivateProfileStringA}, | |
10753 | -{TRUE, 341, "GetPrivateProfileStringW", GetPrivateProfileStringW}, | |
10754 | -{TRUE, 342, "GetPrivateProfileStructA", GetPrivateProfileStructA}, | |
10755 | -{TRUE, 343, "GetPrivateProfileStructW", GetPrivateProfileStructW}, | |
10756 | -{TRUE, 344, "GetProcAddress", GetProcAddress}, | |
10757 | -{TRUE, 345, "GetProcessAffinityMask", GetProcessAffinityMask}, | |
10758 | -{TRUE, 346, "GetProcessHeap", GetProcessHeap}, | |
10759 | -{TRUE, 347, "GetProcessHeaps", GetProcessHeaps}, | |
10760 | -{FALSE, 348, "GetProcessIoCounters", GetProcessIoCounters}, | |
10761 | -{FALSE, 349, "GetProcessPriorityBoost", GetProcessPriorityBoost}, | |
10762 | -{FALSE, 350, "GetProcessShutdownParameters", GetProcessShutdownParameters}, | |
10763 | -{FALSE, 351, "GetProcessTimes", GetProcessTimes}, | |
10764 | -{FALSE, 352, "GetProcessVersion", GetProcessVersion}, | |
10765 | -{FALSE, 353, "GetProcessWorkingSetSize", GetProcessWorkingSetSize}, | |
10766 | -{TRUE, 354, "GetProfileIntA", GetProfileIntA}, | |
10767 | -{TRUE, 355, "GetProfileIntW", GetProfileIntW}, | |
10768 | -{TRUE, 356, "GetProfileSectionA", GetProfileSectionA}, | |
10769 | -{TRUE, 357, "GetProfileSectionW", GetProfileSectionW}, | |
10770 | -{TRUE, 358, "GetProfileStringA", GetProfileStringA}, | |
10771 | -{TRUE, 359, "GetProfileStringW", GetProfileStringW}, | |
10772 | -{FALSE, 360, "GetQueuedCompletionStatus", GetQueuedCompletionStatus}, | |
10773 | -{TRUE, 361, "GetShortPathNameA", GetShortPathNameA}, | |
10774 | -{TRUE, 362, "GetShortPathNameW", GetShortPathNameW}, | |
10775 | -{TRUE, 363, "GetStartupInfoA", GetStartupInfoA}, | |
10776 | -{TRUE, 364, "GetStartupInfoW", GetStartupInfoW}, | |
10777 | -{TRUE, 365, "GetStdHandle", GetStdHandle}, | |
10778 | -{TRUE, 366, "GetStringTypeA", GetStringTypeA}, | |
10779 | -{FALSE, 367, "GetStringTypeExA", GetStringTypeExA}, | |
10780 | -{FALSE, 368, "GetStringTypeExW", GetStringTypeExW}, | |
10781 | -{TRUE, 369, "GetStringTypeW", GetStringTypeW}, | |
10782 | -{TRUE, 370, "GetSystemDefaultLCID", GetSystemDefaultLCID}, | |
10783 | -{TRUE, 371, "GetSystemDefaultLangID", GetSystemDefaultLangID}, | |
10784 | -{TRUE, 372, "GetSystemDefaultUILanguage", GetSystemDefaultUILanguage}, | |
10785 | -{TRUE, 373, "GetSystemDirectoryA", GetSystemDirectoryA}, | |
10786 | -{TRUE, 374, "GetSystemDirectoryW", GetSystemDirectoryW}, | |
10787 | -{TRUE, 375, "GetSystemInfo", GetSystemInfo}, | |
10788 | -{FALSE, 376, "GetSystemPowerStatus", GetSystemPowerStatus}, | |
10789 | -{TRUE, 377, "GetSystemTime", GetSystemTime}, | |
10790 | -{FALSE, 378, "GetSystemTimeAdjustment", GetSystemTimeAdjustment}, | |
10791 | -{TRUE, 379, "GetSystemTimeAsFileTime", GetSystemTimeAsFileTime}, | |
10792 | -{FALSE, 380, "GetSystemWindowsDirectoryA", GetSystemWindowsDirectoryA}, | |
10793 | -{FALSE, 381, "GetSystemWindowsDirectoryW", GetSystemWindowsDirectoryW}, | |
10794 | -{FALSE, 382, "GetTapeParameters", GetTapeParameters}, | |
10795 | -{FALSE, 383, "GetTapePosition", GetTapePosition}, | |
10796 | -{FALSE, 384, "GetTapeStatus", GetTapeStatus}, | |
10797 | -{TRUE, 385, "GetTempFileNameA", GetTempFileNameA}, | |
10798 | -{TRUE, 386, "GetTempFileNameW", GetTempFileNameW}, | |
10799 | -{TRUE, 387, "GetTempPathA", GetTempPathA}, | |
10800 | -{TRUE, 388, "GetTempPathW", GetTempPathW}, | |
10801 | -{FALSE, 389, "GetThreadContext", GetThreadContext}, | |
10802 | -{TRUE, 390, "GetThreadLocale", GetThreadLocale}, | |
10803 | -{TRUE, 391, "GetThreadPriority", GetThreadPriority}, | |
10804 | -{FALSE, 392, "GetThreadPriorityBoost", GetThreadPriorityBoost}, | |
10805 | -{FALSE, 393, "GetThreadSelectorEntry", GetThreadSelectorEntry}, | |
10806 | -{FALSE, 394, "GetThreadTimes", GetThreadTimes}, | |
10807 | -{TRUE, 395, "GetTickCount", GetTickCount}, | |
10808 | -{FALSE, 396, "GetTimeFormatA", GetTimeFormatA}, | |
10809 | -{FALSE, 397, "GetTimeFormatW", GetTimeFormatW}, | |
10810 | -{TRUE, 398, "GetTimeZoneInformation", GetTimeZoneInformation}, | |
10811 | -{TRUE, 399, "GetUserDefaultLCID", GetUserDefaultLCID}, | |
10812 | -{TRUE, 400, "GetUserDefaultLangID", GetUserDefaultLangID}, | |
10813 | -{TRUE, 401, "GetUserDefaultUILanguage", GetUserDefaultUILanguage}, | |
10814 | -{FALSE, 402, "GetVDMCurrentDirectories", GetVDMCurrentDirectories}, | |
10815 | -{TRUE, 403, "GetVersion", GetVersion}, | |
10816 | -{TRUE, 404, "GetVersionExA", GetVersionExA}, | |
10817 | -{TRUE, 405, "GetVersionExW", GetVersionExW}, | |
10818 | -{FALSE, 406, "GetVolumeInformationA", GetVolumeInformationA}, | |
10819 | -{FALSE, 407, "GetVolumeInformationW", GetVolumeInformationW}, | |
10820 | -{FALSE, 408, "GetVolumeNameForVolumeMountPointA", GetVolumeNameForVolumeMountPointA}, | |
10821 | -{FALSE, 409, "GetVolumeNameForVolumeMountPointW", GetVolumeNameForVolumeMountPointW}, | |
10822 | -{FALSE, 410, "GetVolumePathNameA", GetVolumePathNameA}, | |
10823 | -{FALSE, 411, "GetVolumePathNameW", GetVolumePathNameW}, | |
10824 | -{FALSE, 412, "GetWindowsDirectoryA", GetWindowsDirectoryA}, | |
10825 | -{FALSE, 413, "GetWindowsDirectoryW", GetWindowsDirectoryW}, | |
10826 | -{FALSE, 414, "GetWriteWatch", GetWriteWatch}, | |
10827 | -{TRUE, 415, "GlobalAddAtomA", GlobalAddAtomA}, | |
10828 | -{TRUE, 416, "GlobalAddAtomW", GlobalAddAtomW}, | |
10829 | -{TRUE, 417, "GlobalAlloc", GlobalAlloc}, | |
10830 | -{FALSE, 418, "GlobalCompact", GlobalCompact}, | |
10831 | -{TRUE, 419, "GlobalDeleteAtom", GlobalDeleteAtom}, | |
10832 | -{TRUE, 420, "GlobalFindAtomA", GlobalFindAtomA}, | |
10833 | -{TRUE, 421, "GlobalFindAtomW", GlobalFindAtomW}, | |
10834 | -{FALSE, 422, "GlobalFix", GlobalFix}, | |
10835 | -{TRUE, 423, "GlobalFlags", GlobalFlags}, | |
10836 | -{TRUE, 424, "GlobalFree", GlobalFree}, | |
10837 | -{TRUE, 425, "GlobalGetAtomNameA", GlobalGetAtomNameA}, | |
10838 | -{TRUE, 426, "GlobalGetAtomNameW", GlobalGetAtomNameW}, | |
10839 | -{TRUE, 427, "GlobalHandle", GlobalHandle}, | |
10840 | -{TRUE, 428, "GlobalLock", GlobalLock}, | |
10841 | -{FALSE, 429, "GlobalMemoryStatus", GlobalMemoryStatus}, | |
10842 | -{FALSE, 430, "GlobalMemoryStatusEx", GlobalMemoryStatusEx}, | |
10843 | -{TRUE, 431, "GlobalReAlloc", GlobalReAlloc}, | |
10844 | -{TRUE, 432, "GlobalSize", GlobalSize}, | |
10845 | -{FALSE, 433, "GlobalUnWire", GlobalUnWire}, | |
10846 | -{FALSE, 434, "GlobalUnfix", GlobalUnfix}, | |
10847 | -{TRUE, 435, "GlobalUnlock", GlobalUnlock}, | |
10848 | -{FALSE, 436, "GlobalWire", GlobalWire}, | |
10849 | -{FALSE, 437, "Heap32First", Heap32First}, | |
10850 | -{FALSE, 438, "Heap32ListFirst", Heap32ListFirst}, | |
10851 | -{FALSE, 439, "Heap32ListNext", Heap32ListNext}, | |
10852 | -{FALSE, 440, "Heap32Next", Heap32Next}, | |
10853 | -{TRUE, 441, "HeapAlloc", HeapAlloc}, | |
10854 | -{FALSE, 442, "HeapCompact", HeapCompact}, | |
10855 | -{TRUE, 443, "HeapCreate", HeapCreate}, | |
10856 | -{FALSE, 444, "HeapCreateTagsW", HeapCreateTagsW}, | |
10857 | -{TRUE, 445, "HeapDestroy", HeapDestroy}, | |
10858 | -{FALSE, 446, "HeapExtend", HeapExtend}, | |
10859 | -{TRUE, 447, "HeapFree", HeapFree}, | |
10860 | -{FALSE, 448, "HeapLock", HeapLock}, | |
10861 | -{FALSE, 449, "HeapQueryInformation", HeapQueryInformation}, | |
10862 | -{FALSE, 450, "HeapQueryTagW", HeapQueryTagW}, | |
10863 | -{TRUE, 451, "HeapReAlloc", HeapReAlloc}, | |
10864 | -{FALSE, 452, "HeapSetInformation", HeapSetInformation}, | |
10865 | -{TRUE, 453, "HeapSize", HeapSize}, | |
10866 | -{FALSE, 454, "HeapSummary", HeapSummary}, | |
10867 | -{FALSE, 455, "HeapUnlock", HeapUnlock}, | |
10868 | -{FALSE, 456, "HeapUsage", HeapUsage}, | |
10869 | -{FALSE, 457, "HeapValidate", HeapValidate}, | |
10870 | -{FALSE, 458, "HeapWalk", HeapWalk}, | |
10871 | -{TRUE, 459, "InitAtomTable", InitAtomTable}, | |
10872 | -{TRUE, 460, "InitializeCriticalSection", InitializeCriticalSection}, | |
10873 | -{FALSE, 461, "InitializeCriticalSectionAndSpinCount", InitializeCriticalSectionAndSpinCount}, | |
10874 | -{TRUE, 462, "InterlockedCompareExchange", InterlockedCompareExchange}, | |
10875 | -{TRUE, 463, "InterlockedDecrement", InterlockedDecrement}, | |
10876 | -{TRUE, 464, "InterlockedExchange", InterlockedExchange}, | |
10877 | -{TRUE, 465, "InterlockedExchangeAdd", InterlockedExchangeAdd}, | |
10878 | -{TRUE, 466, "InterlockedIncrement", InterlockedIncrement}, | |
10879 | -{FALSE, 467, "InvalidateConsoleDIBits", InvalidateConsoleDIBits}, | |
10880 | -{TRUE, 468, "IsBadCodePtr", IsBadCodePtr}, | |
10881 | -{FALSE, 469, "IsBadHugeReadPtr", IsBadHugeReadPtr}, | |
10882 | -{FALSE, 470, "IsBadHugeWritePtr", IsBadHugeWritePtr}, | |
10883 | -{TRUE, 471, "IsBadReadPtr", IsBadReadPtr}, | |
10884 | -{FALSE, 472, "IsBadStringPtrA", IsBadStringPtrA}, | |
10885 | -{FALSE, 473, "IsBadStringPtrW", IsBadStringPtrW}, | |
10886 | -{TRUE, 474, "IsBadWritePtr", IsBadWritePtr}, | |
10887 | -{TRUE, 475, "IsDBCSLeadByte", IsDBCSLeadByte}, | |
10888 | -{TRUE, 476, "IsDBCSLeadByteEx", IsDBCSLeadByteEx}, | |
10889 | -{FALSE, 477, "IsDebuggerPresent", IsDebuggerPresent}, | |
10890 | -{FALSE, 478, "IsProcessorFeaturePresent", IsProcessorFeaturePresent}, | |
10891 | -{FALSE, 479, "IsSystemResumeAutomatic", IsSystemResumeAutomatic}, | |
10892 | -{FALSE, 480, "IsValidCodePage", IsValidCodePage}, | |
10893 | -{FALSE, 481, "IsValidLanguageGroup", IsValidLanguageGroup}, | |
10894 | -{FALSE, 482, "IsValidLocale", IsValidLocale}, | |
10895 | -{TRUE, 483, "LCMapStringA", LCMapStringA}, | |
10896 | -{TRUE, 484, "LCMapStringW", LCMapStringW}, | |
10897 | -{TRUE, 485, "LeaveCriticalSection", LeaveCriticalSection}, | |
10898 | -{TRUE, 486, "LoadLibraryA", LoadLibraryA}, | |
10899 | -{TRUE, 487, "LoadLibraryExA", LoadLibraryExA}, | |
10900 | -{TRUE, 488, "LoadLibraryExW", LoadLibraryExW}, | |
10901 | -{TRUE, 489, "LoadLibraryW", LoadLibraryW}, | |
10902 | -{FALSE, 490, "LoadModule", LoadModule}, | |
10903 | -{TRUE, 491, "LoadResource", LoadResource}, | |
10904 | -{TRUE, 492, "LocalAlloc", LocalAlloc}, | |
10905 | -{FALSE, 493, "LocalCompact", LocalCompact}, | |
10906 | -{TRUE, 494, "LocalFileTimeToFileTime", LocalFileTimeToFileTime}, | |
10907 | -{TRUE, 495, "LocalFlags", LocalFlags}, | |
10908 | -{TRUE, 496, "LocalFree", LocalFree}, | |
10909 | -{TRUE, 497, "LocalHandle", LocalHandle}, | |
10910 | -{TRUE, 498, "LocalLock", LocalLock}, | |
10911 | -{TRUE, 499, "LocalReAlloc", LocalReAlloc}, | |
10912 | -{FALSE, 500, "LocalShrink", LocalShrink}, | |
10913 | -{TRUE, 501, "LocalSize", LocalSize}, | |
10914 | -{TRUE, 502, "LocalUnlock", LocalUnlock}, | |
10915 | -{FALSE, 503, "LockFile", LockFile}, | |
10916 | -{FALSE, 504, "LockFileEx", LockFileEx}, | |
10917 | -{TRUE, 505, "LockResource", LockResource}, | |
10918 | -{FALSE, 506, "MapUserPhysicalPages", MapUserPhysicalPages}, | |
10919 | -{FALSE, 507, "MapUserPhysicalPagesScatter", MapUserPhysicalPagesScatter}, | |
10920 | -{TRUE, 508, "MapViewOfFile", MapViewOfFile}, | |
10921 | -{TRUE, 509, "MapViewOfFileEx", MapViewOfFileEx}, | |
10922 | -{FALSE, 510, "Module32First", Module32First}, | |
10923 | -{FALSE, 511, "Module32FirstW", Module32FirstW}, | |
10924 | -{FALSE, 512, "Module32Next", Module32Next}, | |
10925 | -{FALSE, 513, "Module32NextW", Module32NextW}, | |
10926 | -{TRUE, 514, "MoveFileA", MoveFileA}, | |
10927 | -{TRUE, 515, "MoveFileExA", MoveFileExA}, | |
10928 | -{TRUE, 516, "MoveFileExW", MoveFileExW}, | |
10929 | -{TRUE, 517, "MoveFileW", MoveFileW}, | |
10930 | -{FALSE, 518, "MoveFileWithProgressA", MoveFileWithProgressA}, | |
10931 | -{FALSE, 519, "MoveFileWithProgressW", MoveFileWithProgressW}, | |
10932 | -{TRUE, 520, "MulDiv", MulDiv}, | |
10933 | -{TRUE, 521, "MultiByteToWideChar", MultiByteToWideChar}, | |
10934 | -{FALSE, 522, "NlsConvertIntegerToString", NlsConvertIntegerToString}, | |
10935 | -{FALSE, 523, "NlsGetCacheUpdateCount", NlsGetCacheUpdateCount}, | |
10936 | -{FALSE, 524, "NlsResetProcessLocale", NlsResetProcessLocale}, | |
10937 | -{FALSE, 525, "OpenConsoleW", OpenConsoleW}, | |
10938 | -{FALSE, 526, "OpenDataFile", OpenDataFile}, | |
10939 | -{TRUE, 527, "OpenEventA", OpenEventA}, | |
10940 | -{TRUE, 528, "OpenEventW", OpenEventW}, | |
10941 | -{FALSE, 529, "OpenFile", OpenFile}, | |
10942 | -{TRUE, 530, "OpenFileMappingA", OpenFileMappingA}, | |
10943 | -{TRUE, 531, "OpenFileMappingW", OpenFileMappingW}, | |
10944 | -{FALSE, 532, "OpenJobObjectA", OpenJobObjectA}, | |
10945 | -{FALSE, 533, "OpenJobObjectW", OpenJobObjectW}, | |
10946 | -{TRUE, 534, "OpenMutexA", OpenMutexA}, | |
10947 | -{TRUE, 535, "OpenMutexW", OpenMutexW}, | |
10948 | -{FALSE, 536, "OpenProcess", OpenProcess}, | |
10949 | -{FALSE, 537, "OpenProfileUserMapping", OpenProfileUserMapping}, | |
10950 | -{TRUE, 538, "OpenSemaphoreA", OpenSemaphoreA}, | |
10951 | -{TRUE, 539, "OpenSemaphoreW", OpenSemaphoreW}, | |
10952 | -{FALSE, 540, "OpenThread", OpenThread}, | |
10953 | -{FALSE, 541, "OpenWaitableTimerA", OpenWaitableTimerA}, | |
10954 | -{FALSE, 542, "OpenWaitableTimerW", OpenWaitableTimerW}, | |
10955 | -{TRUE, 543, "OutputDebugStringA", OutputDebugStringA}, | |
10956 | -{TRUE, 544, "OutputDebugStringW", OutputDebugStringW}, | |
10957 | -{FALSE, 545, "PeekConsoleInputA", PeekConsoleInputA}, | |
10958 | -{FALSE, 546, "PeekConsoleInputW", PeekConsoleInputW}, | |
10959 | -{FALSE, 547, "PeekNamedPipe", PeekNamedPipe}, | |
10960 | -{FALSE, 548, "PostQueuedCompletionStatus", PostQueuedCompletionStatus}, | |
10961 | -{FALSE, 549, "PrepareTape", PrepareTape}, | |
10962 | -{FALSE, 550, "PrivCopyFileExW", PrivCopyFileExW}, | |
10963 | -{FALSE, 551, "PrivMoveFileIdentityW", PrivMoveFileIdentityW}, | |
10964 | -{FALSE, 552, "Process32First", Process32First}, | |
10965 | -{FALSE, 553, "Process32FirstW", Process32FirstW}, | |
10966 | -{FALSE, 554, "Process32Next", Process32Next}, | |
10967 | -{FALSE, 555, "Process32NextW", Process32NextW}, | |
10968 | -{FALSE, 556, "ProcessIdToSessionId", ProcessIdToSessionId}, | |
10969 | -{TRUE, 557, "PulseEvent", PulseEvent}, | |
10970 | -{FALSE, 558, "PurgeComm", PurgeComm}, | |
10971 | -{FALSE, 559, "QueryDosDeviceA", QueryDosDeviceA}, | |
10972 | -{FALSE, 560, "QueryDosDeviceW", QueryDosDeviceW}, | |
10973 | -{FALSE, 561, "QueryInformationJobObject", QueryInformationJobObject}, | |
10974 | -{TRUE, 562, "QueryPerformanceCounter", QueryPerformanceCounter}, | |
10975 | -{TRUE, 563, "QueryPerformanceFrequency", QueryPerformanceFrequency}, | |
10976 | -{FALSE, 564, "QueryWin31IniFilesMappedToRegistry", QueryWin31IniFilesMappedToRegistry}, | |
10977 | -{FALSE, 565, "QueueUserAPC", QueueUserAPC}, | |
10978 | -{FALSE, 566, "QueueUserWorkItem", QueueUserWorkItem}, | |
10979 | -{TRUE, 567, "RaiseException", RaiseException}, | |
10980 | -{FALSE, 568, "ReadConsoleA", ReadConsoleA}, | |
10981 | -{FALSE, 569, "ReadConsoleInputA", ReadConsoleInputA}, | |
10982 | -{FALSE, 570, "ReadConsoleInputExA", ReadConsoleInputExA}, | |
10983 | -{FALSE, 571, "ReadConsoleInputExW", ReadConsoleInputExW}, | |
10984 | -{FALSE, 572, "ReadConsoleInputW", ReadConsoleInputW}, | |
10985 | -{FALSE, 573, "ReadConsoleOutputA", ReadConsoleOutputA}, | |
10986 | -{FALSE, 574, "ReadConsoleOutputAttribute", ReadConsoleOutputAttribute}, | |
10987 | -{FALSE, 575, "ReadConsoleOutputCharacterA", ReadConsoleOutputCharacterA}, | |
10988 | -{FALSE, 576, "ReadConsoleOutputCharacterW", ReadConsoleOutputCharacterW}, | |
10989 | -{FALSE, 577, "ReadConsoleOutputW", ReadConsoleOutputW}, | |
10990 | -{FALSE, 578, "ReadConsoleW", ReadConsoleW}, | |
10991 | -{FALSE, 579, "ReadDirectoryChangesW", ReadDirectoryChangesW}, | |
10992 | -{TRUE, 580, "ReadFile", ReadFile}, | |
10993 | -{FALSE, 581, "ReadFileEx", ReadFileEx}, | |
10994 | -{FALSE, 582, "ReadFileScatter", ReadFileScatter}, | |
10995 | -{FALSE, 583, "ReadProcessMemory", ReadProcessMemory}, | |
10996 | -{FALSE, 584, "RegisterConsoleIME", RegisterConsoleIME}, | |
10997 | -{FALSE, 585, "RegisterConsoleOS2", RegisterConsoleOS2}, | |
10998 | -{FALSE, 586, "RegisterConsoleVDM", RegisterConsoleVDM}, | |
10999 | -{FALSE, 587, "RegisterWaitForInputIdle", RegisterWaitForInputIdle}, | |
11000 | -{FALSE, 588, "RegisterWaitForSingleObject", RegisterWaitForSingleObject}, | |
11001 | -{FALSE, 589, "RegisterWaitForSingleObjectEx", RegisterWaitForSingleObjectEx}, | |
11002 | -{FALSE, 590, "RegisterWowBaseHandlers", RegisterWowBaseHandlers}, | |
11003 | -{FALSE, 591, "RegisterWowExec", RegisterWowExec}, | |
11004 | -{TRUE, 592, "ReleaseMutex", ReleaseMutex}, | |
11005 | -{TRUE, 593, "ReleaseSemaphore", ReleaseSemaphore}, | |
11006 | -{TRUE, 594, "RemoveDirectoryA", RemoveDirectoryA}, | |
11007 | -{TRUE, 595, "RemoveDirectoryW", RemoveDirectoryW}, | |
11008 | -{FALSE, 596, "ReplaceFile", ReplaceFileA}, | |
11009 | -{FALSE, 597, "ReplaceFileA", ReplaceFileA}, | |
11010 | -{FALSE, 598, "ReplaceFileW", ReplaceFileW}, | |
11011 | -{FALSE, 599, "RequestDeviceWakeup", RequestDeviceWakeup}, | |
11012 | -{FALSE, 600, "RequestWakeupLatency", RequestWakeupLatency}, | |
11013 | -{TRUE, 601, "ResetEvent", ResetEvent}, | |
11014 | -{FALSE, 602, "ResetWriteWatch", ResetWriteWatch}, | |
11015 | -{TRUE, 603, "ResumeThread", ResumeThread}, | |
11016 | -{FALSE, 604, "RtlFillMemory", RtlFillMemory}, | |
11017 | -{FALSE, 605, "RtlMoveMemory", RtlMoveMemory}, | |
11018 | -{TRUE, 606, "RtlUnwind", RtlUnwind}, | |
11019 | -{FALSE, 607, "RtlZeroMemory", RtlZeroMemory}, | |
11020 | -{FALSE, 608, "ScrollConsoleScreenBufferA", ScrollConsoleScreenBufferA}, | |
11021 | -{FALSE, 609, "ScrollConsoleScreenBufferW", ScrollConsoleScreenBufferW}, | |
11022 | -{FALSE, 610, "SearchPathA", SearchPathA}, | |
11023 | -{FALSE, 611, "SearchPathW", SearchPathW}, | |
11024 | -{FALSE, 612, "SetCPGlobal", SetCPGlobal}, | |
11025 | -{FALSE, 613, "SetCalendarInfoA", SetCalendarInfoA}, | |
11026 | -{FALSE, 614, "SetCalendarInfoW", SetCalendarInfoW}, | |
11027 | -{FALSE, 615, "SetCommBreak", SetCommBreak}, | |
11028 | -{FALSE, 616, "SetCommConfig", SetCommConfig}, | |
11029 | -{FALSE, 617, "SetCommMask", SetCommMask}, | |
11030 | -{FALSE, 618, "SetCommState", SetCommState}, | |
11031 | -{FALSE, 619, "SetCommTimeouts", SetCommTimeouts}, | |
11032 | -{FALSE, 620, "SetComputerNameA", SetComputerNameA}, | |
11033 | -{FALSE, 621, "SetComputerNameExA", SetComputerNameExA}, | |
11034 | -{FALSE, 622, "SetComputerNameExW", SetComputerNameExW}, | |
11035 | -{FALSE, 623, "SetComputerNameW", SetComputerNameW}, | |
11036 | -{FALSE, 624, "SetConsoleActiveScreenBuffer", SetConsoleActiveScreenBuffer}, | |
11037 | -{FALSE, 625, "SetConsoleCP", SetConsoleCP}, | |
11038 | -{FALSE, 626, "SetConsoleCommandHistoryMode", SetConsoleCommandHistoryMode}, | |
11039 | -{FALSE, 627, "SetConsoleCtrlHandler", SetConsoleCtrlHandler}, | |
11040 | -{FALSE, 628, "SetConsoleCursor", SetConsoleCursor}, | |
11041 | -{FALSE, 629, "SetConsoleCursorInfo", SetConsoleCursorInfo}, | |
11042 | -{FALSE, 630, "SetConsoleCursorMode", SetConsoleCursorMode}, | |
11043 | -{FALSE, 631, "SetConsoleCursorPosition", SetConsoleCursorPosition}, | |
11044 | -{FALSE, 632, "SetConsoleDisplayMode", SetConsoleDisplayMode}, | |
11045 | -{FALSE, 633, "SetConsoleFont", SetConsoleFont}, | |
11046 | -{FALSE, 634, "SetConsoleHardwareState", SetConsoleHardwareState}, | |
11047 | -{FALSE, 635, "SetConsoleIcon", SetConsoleIcon}, | |
11048 | -{FALSE, 636, "SetConsoleInputExeNameA", SetConsoleInputExeNameA}, | |
11049 | -{FALSE, 637, "SetConsoleInputExeNameW", SetConsoleInputExeNameW}, | |
11050 | -{FALSE, 638, "SetConsoleKeyShortcuts", SetConsoleKeyShortcuts}, | |
11051 | -{FALSE, 639, "SetConsoleLocalEUDC", SetConsoleLocalEUDC}, | |
11052 | -{FALSE, 640, "SetConsoleMaximumWindowSize", SetConsoleMaximumWindowSize}, | |
11053 | -{FALSE, 641, "SetConsoleMenuClose", SetConsoleMenuClose}, | |
11054 | -{FALSE, 642, "SetConsoleMode", SetConsoleMode}, | |
11055 | -{FALSE, 643, "SetConsoleNlsMode", SetConsoleNlsMode}, | |
11056 | -{FALSE, 644, "SetConsoleNumberOfCommandsA", SetConsoleNumberOfCommandsA}, | |
11057 | -{FALSE, 645, "SetConsoleNumberOfCommandsW", SetConsoleNumberOfCommandsW}, | |
11058 | -{FALSE, 646, "SetConsoleOS2OemFormat", SetConsoleOS2OemFormat}, | |
11059 | -{FALSE, 647, "SetConsoleOutputCP", SetConsoleOutputCP}, | |
11060 | -{FALSE, 648, "SetConsolePalette", SetConsolePalette}, | |
11061 | -{TRUE, 649, "SetConsoleScreenBufferSize", SetConsoleScreenBufferSize}, | |
11062 | -{FALSE, 650, "SetConsoleTextAttribute", SetConsoleTextAttribute}, | |
11063 | -{FALSE, 651, "SetConsoleTitleA", SetConsoleTitleA}, | |
11064 | -{FALSE, 652, "SetConsoleTitleW", SetConsoleTitleW}, | |
11065 | -{FALSE, 653, "SetConsoleWindowInfo", SetConsoleWindowInfo}, | |
11066 | -{FALSE, 654, "SetCriticalSectionSpinCount", SetCriticalSectionSpinCount}, | |
11067 | -{TRUE, 655, "SetCurrentDirectoryA", SetCurrentDirectoryA}, | |
11068 | -{TRUE, 656, "SetCurrentDirectoryW", SetCurrentDirectoryW}, | |
11069 | -{FALSE, 657, "SetDefaultCommConfigA", SetDefaultCommConfigA}, | |
11070 | -{FALSE, 658, "SetDefaultCommConfigW", SetDefaultCommConfigW}, | |
11071 | -{TRUE, 659, "SetEndOfFile", SetEndOfFile}, | |
11072 | -{TRUE, 660, "SetEnvironmentVariableA", SetEnvironmentVariableA}, | |
11073 | -{TRUE, 661, "SetEnvironmentVariableW", SetEnvironmentVariableW}, | |
11074 | -{FALSE, 662, "SetErrorMode", SetErrorMode}, | |
11075 | -{TRUE, 663, "SetEvent", SetEvent}, | |
11076 | -{FALSE, 664, "SetFileApisToANSI", SetFileApisToANSI}, | |
11077 | -{FALSE, 665, "SetFileApisToOEM", SetFileApisToOEM}, | |
11078 | -{FALSE, 666, "SetFileAttributesA", SetFileAttributesA}, | |
11079 | -{FALSE, 667, "SetFileAttributesW", SetFileAttributesW}, | |
11080 | -{TRUE, 668, "SetFilePointer", SetFilePointer}, | |
11081 | -{FALSE, 669, "SetFilePointerEx", SetFilePointerEx}, | |
11082 | -{TRUE, 670, "SetFileTime", SetFileTime}, | |
11083 | -{TRUE, 671, "SetHandleCount", SetHandleCount}, | |
11084 | -{FALSE, 672, "SetHandleInformation", SetHandleInformation}, | |
11085 | -{FALSE, 673, "SetInformationJobObject", SetInformationJobObject}, | |
11086 | -{FALSE, 674, "SetLastConsoleEventActive", SetLastConsoleEventActive}, | |
11087 | -{TRUE, 675, "SetLastError", SetLastError}, | |
11088 | -{FALSE, 676, "SetLocalTime", SetLocalTime}, | |
11089 | -{FALSE, 677, "SetLocaleInfoA", SetLocaleInfoA}, | |
11090 | -{FALSE, 678, "SetLocaleInfoW", SetLocaleInfoW}, | |
11091 | -{FALSE, 679, "SetMailslotInfo", SetMailslotInfo}, | |
11092 | -{FALSE, 680, "SetMessageWaitingIndicator", SetMessageWaitingIndicator}, | |
11093 | -{FALSE, 681, "SetNamedPipeHandleState", SetNamedPipeHandleState}, | |
11094 | -{FALSE, 682, "SetPriorityClass", SetPriorityClass}, | |
11095 | -{TRUE, 683, "SetProcessAffinityMask", SetProcessAffinityMask}, | |
11096 | -{FALSE, 684, "SetProcessPriorityBoost", SetProcessPriorityBoost}, | |
11097 | -{FALSE, 685, "SetProcessShutdownParameters", SetProcessShutdownParameters}, | |
11098 | -{FALSE, 686, "SetProcessWorkingSetSize", SetProcessWorkingSetSize}, | |
11099 | -{TRUE, 687, "SetStdHandle", SetStdHandle}, | |
11100 | -{FALSE, 688, "SetSystemPowerState", SetSystemPowerState}, | |
11101 | -{FALSE, 689, "SetSystemTime", SetSystemTime}, | |
11102 | -{FALSE, 690, "SetSystemTimeAdjustment", SetSystemTimeAdjustment}, | |
11103 | -{FALSE, 691, "SetTapeParameters", SetTapeParameters}, | |
11104 | -{FALSE, 692, "SetTapePosition", SetTapePosition}, | |
11105 | -{FALSE, 693, "SetTermsrvAppInstallMode", SetTermsrvAppInstallMode}, | |
11106 | -{TRUE, 694, "SetThreadAffinityMask", SetThreadAffinityMask}, | |
11107 | -{FALSE, 695, "SetThreadContext", SetThreadContext}, | |
11108 | -{FALSE, 696, "SetThreadExecutionState", SetThreadExecutionState}, | |
11109 | -{FALSE, 697, "SetThreadIdealProcessor", SetThreadIdealProcessor}, | |
11110 | -{FALSE, 698, "SetThreadLocale", SetThreadLocale}, | |
11111 | -{TRUE, 699, "SetThreadPriority", SetThreadPriority}, | |
11112 | -{FALSE, 700, "SetThreadPriorityBoost", SetThreadPriorityBoost}, | |
11113 | -{TRUE, 701, "SetTimeZoneInformation", SetTimeZoneInformation}, | |
11114 | -{FALSE, 702, "SetTimerQueueTimer", SetTimerQueueTimer}, | |
11115 | -{TRUE, 703, "SetUnhandledExceptionFilter", SetUnhandledExceptionFilter}, | |
11116 | -{FALSE, 704, "SetVDMCurrentDirectories", SetVDMCurrentDirectories}, | |
11117 | -{FALSE, 705, "SetVolumeLabelA", SetVolumeLabelA}, | |
11118 | -{FALSE, 706, "SetVolumeLabelW", SetVolumeLabelW}, | |
11119 | -{FALSE, 707, "SetVolumeMountPointA", SetVolumeMountPointA}, | |
11120 | -{FALSE, 708, "SetVolumeMountPointW", SetVolumeMountPointW}, | |
11121 | -{FALSE, 709, "SetWaitableTimer", SetWaitableTimer}, | |
11122 | -{FALSE, 710, "SetupComm", SetupComm}, | |
11123 | -{FALSE, 711, "ShowConsoleCursor", ShowConsoleCursor}, | |
11124 | -{FALSE, 712, "SignalObjectAndWait", SignalObjectAndWait}, | |
11125 | -{TRUE, 713, "SizeofResource", SizeofResource}, | |
11126 | -{TRUE, 714, "Sleep", Sleep}, | |
11127 | -{FALSE, 715, "SleepEx", SleepEx}, | |
11128 | -{TRUE, 716, "SuspendThread", SuspendThread}, | |
11129 | -{FALSE, 717, "SwitchToFiber", SwitchToFiber}, | |
11130 | -{FALSE, 718, "SwitchToThread", SwitchToThread}, | |
11131 | -{TRUE, 719, "SystemTimeToFileTime", SystemTimeToFileTime}, | |
11132 | -{FALSE, 720, "SystemTimeToTzSpecificLocalTime", SystemTimeToTzSpecificLocalTime}, | |
11133 | -{FALSE, 721, "TerminateJobObject", TerminateJobObject}, | |
11134 | -{TRUE, 722, "TerminateProcess", TerminateProcess}, | |
11135 | -{FALSE, 723, "TerminateThread", TerminateThread}, | |
11136 | -{FALSE, 724, "TermsrvAppInstallMode", TermsrvAppInstallMode}, | |
11137 | -{FALSE, 725, "Thread32First", Thread32First}, | |
11138 | -{FALSE, 726, "Thread32Next", Thread32Next}, | |
11139 | -{TRUE, 727, "TlsAlloc", TlsAlloc}, | |
11140 | -{TRUE, 728, "TlsFree", TlsFree}, | |
11141 | -{TRUE, 729, "TlsGetValue", TlsGetValue}, | |
11142 | -{TRUE, 730, "TlsSetValue", TlsSetValue}, | |
11143 | -{FALSE, 731, "Toolhelp32ReadProcessMemory", Toolhelp32ReadProcessMemory}, | |
11144 | -{FALSE, 732, "TransactNamedPipe", TransactNamedPipe}, | |
11145 | -{FALSE, 733, "TransmitCommChar", TransmitCommChar}, | |
11146 | -{FALSE, 734, "TrimVirtualBuffer", TrimVirtualBuffer}, | |
11147 | -{TRUE, 735, "TryEnterCriticalSection", TryEnterCriticalSection}, | |
11148 | -{FALSE, 736, "UTRegister", UTRegister}, | |
11149 | -{FALSE, 737, "UTUnRegister", UTUnRegister}, | |
11150 | -{FALSE, 738, "UnhandledExceptionFilter", UnhandledExceptionFilter}, | |
11151 | -{FALSE, 739, "UnlockFile", UnlockFile}, | |
11152 | -{FALSE, 740, "UnlockFileEx", UnlockFileEx}, | |
11153 | -{TRUE, 741, "UnmapViewOfFile", UnmapViewOfFile}, | |
11154 | -{FALSE, 742, "UnregisterConsoleIME", UnregisterConsoleIME}, | |
11155 | -{FALSE, 743, "UnregisterWait", UnregisterWait}, | |
11156 | -{FALSE, 744, "UnregisterWaitEx", UnregisterWaitEx}, | |
11157 | -{FALSE, 745, "UpdateResourceA", UpdateResourceA}, | |
11158 | -{FALSE, 746, "UpdateResourceW", UpdateResourceW}, | |
11159 | -{FALSE, 747, "VDMConsoleOperation", VDMConsoleOperation}, | |
11160 | -{FALSE, 748, "VDMOperationStarted", VDMOperationStarted}, | |
11161 | -{FALSE, 749, "ValidateLCType", ValidateLCType}, | |
11162 | -{FALSE, 750, "ValidateLocale", ValidateLocale}, | |
11163 | -{TRUE, 751, "VerLanguageNameA", VerLanguageNameA}, | |
11164 | -{TRUE, 752, "VerLanguageNameW", VerLanguageNameW}, | |
11165 | -{FALSE, 753, "VerSetConditionMask", VerSetConditionMask}, | |
11166 | -{FALSE, 754, "VerifyConsoleIoHandle", VerifyConsoleIoHandle}, | |
11167 | -{FALSE, 755, "VerifyVersionInfoA", VerifyVersionInfoA}, | |
11168 | -{FALSE, 756, "VerifyVersionInfoW", VerifyVersionInfoW}, | |
11169 | -{TRUE, 757, "VirtualAlloc", VirtualAlloc}, | |
11170 | -{FALSE, 758, "VirtualAllocEx", VirtualAllocEx}, | |
11171 | -{FALSE, 759, "VirtualBufferExceptionHandler", VirtualBufferExceptionHandler}, | |
11172 | -{TRUE, 760, "VirtualFree", VirtualFree}, | |
11173 | -{FALSE, 761, "VirtualFreeEx", VirtualFreeEx}, | |
11174 | -{TRUE, 762, "VirtualLock", VirtualLock}, | |
11175 | -{TRUE, 763, "VirtualProtect", VirtualProtect}, | |
11176 | -{FALSE, 764, "VirtualProtectEx", VirtualProtectEx}, | |
11177 | -{TRUE, 765, "VirtualQuery", VirtualQuery}, | |
11178 | -{FALSE, 766, "VirtualQueryEx", VirtualQueryEx}, | |
11179 | -{TRUE, 767, "VirtualUnlock", VirtualUnlock}, | |
11180 | -{FALSE, 768, "WaitCommEvent", WaitCommEvent}, | |
11181 | -{FALSE, 769, "WaitForDebugEvent", WaitForDebugEvent}, | |
11182 | -{TRUE, 770, "WaitForMultipleObjects", WaitForMultipleObjects}, | |
11183 | -{FALSE, 771, "WaitForMultipleObjectsEx", WaitForMultipleObjectsEx}, | |
11184 | -{TRUE, 772, "WaitForSingleObject", WaitForSingleObject}, | |
11185 | -{FALSE, 773, "WaitForSingleObjectEx", WaitForSingleObjectEx}, | |
11186 | -{FALSE, 774, "WaitNamedPipeA", WaitNamedPipeA}, | |
11187 | -{FALSE, 775, "WaitNamedPipeW", WaitNamedPipeW}, | |
11188 | -{TRUE, 776, "WideCharToMultiByte", WideCharToMultiByte}, | |
11189 | -{FALSE, 777, "WinExec", WinExec}, | |
11190 | -{TRUE, 778, "WriteConsoleA", WriteConsoleA}, | |
11191 | -{FALSE, 779, "WriteConsoleInputA", WriteConsoleInputA}, | |
11192 | -{FALSE, 780, "WriteConsoleInputVDMA", WriteConsoleInputVDMA}, | |
11193 | -{FALSE, 781, "WriteConsoleInputVDMW", WriteConsoleInputVDMW}, | |
11194 | -{FALSE, 782, "WriteConsoleInputW", WriteConsoleInputW}, | |
11195 | -{FALSE, 783, "WriteConsoleOutputA", WriteConsoleOutputA}, | |
11196 | -{FALSE, 784, "WriteConsoleOutputAttribute", WriteConsoleOutputAttribute}, | |
11197 | -{FALSE, 785, "WriteConsoleOutputCharacterA", WriteConsoleOutputCharacterA}, | |
11198 | -{FALSE, 786, "WriteConsoleOutputCharacterW", WriteConsoleOutputCharacterW}, | |
11199 | -{FALSE, 787, "WriteConsoleOutputW", WriteConsoleOutputW}, | |
11200 | -{TRUE, 788, "WriteConsoleW", WriteConsoleW}, | |
11201 | -{TRUE, 789, "WriteFile", WriteFile}, | |
11202 | -{FALSE, 790, "WriteFileEx", WriteFileEx}, | |
11203 | -{FALSE, 791, "WriteFileGather", WriteFileGather}, | |
11204 | -{TRUE, 792, "WritePrivateProfileSectionA", WritePrivateProfileSectionA}, | |
11205 | -{TRUE, 793, "WritePrivateProfileSectionW", WritePrivateProfileSectionW}, | |
11206 | -{TRUE, 794, "WritePrivateProfileStringA", WritePrivateProfileStringA}, | |
11207 | -{TRUE, 795, "WritePrivateProfileStringW", WritePrivateProfileStringW}, | |
11208 | -{TRUE, 796, "WritePrivateProfileStructA", WritePrivateProfileStructA}, | |
11209 | -{TRUE, 797, "WritePrivateProfileStructW", WritePrivateProfileStructW}, | |
11210 | -{FALSE, 798, "WriteProcessMemory", WriteProcessMemory}, | |
11211 | -{TRUE, 799, "WriteProfileSectionA", WriteProfileSectionA}, | |
11212 | -{TRUE, 800, "WriteProfileSectionW", WriteProfileSectionW}, | |
11213 | -{TRUE, 801, "WriteProfileStringA", WriteProfileStringA}, | |
11214 | -{TRUE, 802, "WriteProfileStringW", WriteProfileStringW}, | |
11215 | -{FALSE, 803, "WriteTapemark", WriteTapemark}, | |
11216 | -{FALSE, 804, "_hread", _hread}, | |
11217 | -{FALSE, 805, "_hwrite", _hwrite}, | |
11218 | -{TRUE, 806, "_lclose", _lclose}, | |
11219 | -{TRUE, 807, "_lcreat", _lcreat}, | |
11220 | -{TRUE, 808, "_llseek", _llseek}, | |
11221 | -{TRUE, 809, "_lopen", _lopen}, | |
11222 | -{TRUE, 810, "_lread", _lread}, | |
11223 | -{TRUE, 811, "_lwrite", _lwrite}, | |
11224 | -{TRUE, 812, "lstrcat", lstrcatA}, | |
11225 | -{TRUE, 813, "lstrcatA", lstrcatA}, | |
11226 | -{TRUE, 814, "lstrcatW", lstrcatW}, | |
11227 | -{TRUE, 815, "lstrcmp", lstrcmpA}, | |
11228 | -{TRUE, 816, "lstrcmpA", lstrcmpA}, | |
11229 | -{TRUE, 817, "lstrcmpW", lstrcmpW}, | |
11230 | -{TRUE, 818, "lstrcmpi", lstrcmpiA}, | |
11231 | -{TRUE, 819, "lstrcmpiA", lstrcmpiA}, | |
11232 | -{TRUE, 820, "lstrcmpiW", lstrcmpiW}, | |
11233 | -{TRUE, 821, "lstrcpy", lstrcpyA}, | |
11234 | -{TRUE, 822, "lstrcpyA", lstrcpyA}, | |
11235 | -{TRUE, 823, "lstrcpyW", lstrcpyW}, | |
11236 | -{TRUE, 824, "lstrcpyn", lstrcpynA}, | |
11237 | -{TRUE, 825, "lstrcpynA", lstrcpynA}, | |
11238 | -{TRUE, 826, "lstrcpynW", lstrcpynW}, | |
11239 | -{TRUE, 827, "lstrlen", lstrlenA}, | |
11240 | -{TRUE, 828, "lstrlenA", lstrlenA}, | |
11241 | -{TRUE, 829, "lstrlenW", lstrlenW}, | |
11242 | -{FALSE, 0, NULL, NULL}}; | |
10416 | +W32LdrExport w32ldr_kernel32_exports[] = { | |
10417 | +{ 0, 1, "AddAtomA", AddAtomA}, | |
10418 | +{ 0, 2, "AddAtomW", AddAtomW}, | |
10419 | +{-1, 3, "AddConsoleAliasA", AddConsoleAliasA}, | |
10420 | +{-1, 4, "AddConsoleAliasW", AddConsoleAliasW}, | |
10421 | +{ 0, 5, "AllocConsole", AllocConsole}, | |
10422 | +{-1, 6, "AllocateUserPhysicalPages", AllocateUserPhysicalPages}, | |
10423 | +{-1, 7, "AreFileApisANSI", AreFileApisANSI}, | |
10424 | +{-1, 8, "AssignProcessToJobObject", AssignProcessToJobObject}, | |
10425 | +{-1, 9, "BackupRead", BackupRead}, | |
10426 | +{-1, 10, "BackupSeek", BackupSeek}, | |
10427 | +{-1, 11, "BackupWrite", BackupWrite}, | |
10428 | +{-1, 12, "BaseAttachCompleteThunk", BaseAttachCompleteThunk}, | |
10429 | +{-1, 13, "Beep", Beep}, | |
10430 | +{-1, 14, "BeginUpdateResourceA", BeginUpdateResourceA}, | |
10431 | +{-1, 15, "BeginUpdateResourceW", BeginUpdateResourceW}, | |
10432 | +{-1, 16, "BindIoCompletionCallback", BindIoCompletionCallback}, | |
10433 | +{-1, 17, "BuildCommDCBA", BuildCommDCBA}, | |
10434 | +{-1, 18, "BuildCommDCBAndTimeoutsA", BuildCommDCBAndTimeoutsA}, | |
10435 | +{-1, 19, "BuildCommDCBAndTimeoutsW", BuildCommDCBAndTimeoutsW}, | |
10436 | +{-1, 20, "BuildCommDCBW", BuildCommDCBW}, | |
10437 | +{-1, 21, "CallNamedPipeA", CallNamedPipeA}, | |
10438 | +{-1, 22, "CallNamedPipeW", CallNamedPipeW}, | |
10439 | +{-1, 23, "CancelDeviceWakeupRequest", CancelDeviceWakeupRequest}, | |
10440 | +{-1, 24, "CancelIo", CancelIo}, | |
10441 | +{-1, 25, "CancelTimerQueueTimer", CancelTimerQueueTimer}, | |
10442 | +{-1, 26, "CancelWaitableTimer", CancelWaitableTimer}, | |
10443 | +{-1, 27, "ChangeTimerQueueTimer", ChangeTimerQueueTimer}, | |
10444 | +{-1, 28, "ClearCommBreak", ClearCommBreak}, | |
10445 | +{-1, 29, "ClearCommError", ClearCommError}, | |
10446 | +{-1, 30, "CloseConsoleHandle", CloseConsoleHandle}, | |
10447 | +{ 0, 31, "CloseHandle", CloseHandle}, | |
10448 | +{-1, 32, "CloseProfileUserMapping", CloseProfileUserMapping}, | |
10449 | +{-1, 33, "CmdBatNotification", CmdBatNotification}, | |
10450 | +{-1, 34, "CommConfigDialogA", CommConfigDialogA}, | |
10451 | +{-1, 35, "CommConfigDialogW", CommConfigDialogW}, | |
10452 | +{ 0, 36, "CompareFileTime", CompareFileTime}, | |
10453 | +{ 0, 37, "CompareStringA", CompareStringA}, | |
10454 | +{ 0, 38, "CompareStringW", CompareStringW}, | |
10455 | +{-1, 39, "ConnectNamedPipe", ConnectNamedPipe}, | |
10456 | +{-1, 40, "ConsoleMenuControl", ConsoleMenuControl}, | |
10457 | +{-1, 41, "ContinueDebugEvent", ContinueDebugEvent}, | |
10458 | +{-1, 42, "ConvertDefaultLocale", ConvertDefaultLocale}, | |
10459 | +{-1, 43, "ConvertThreadToFiber", ConvertThreadToFiber}, | |
10460 | +{ 0, 44, "CopyFileA", CopyFileA}, | |
10461 | +{-1, 45, "CopyFileExA", CopyFileExA}, | |
10462 | +{-1, 46, "CopyFileExW", CopyFileExW}, | |
10463 | +{ 0, 47, "CopyFileW", CopyFileW}, | |
10464 | +{-1, 48, "CreateConsoleScreenBuffer", CreateConsoleScreenBuffer}, | |
10465 | +{ 0, 49, "CreateDirectoryA", CreateDirectoryA}, | |
10466 | +{-1, 50, "CreateDirectoryExA", CreateDirectoryExA}, | |
10467 | +{-1, 51, "CreateDirectoryExW", CreateDirectoryExW}, | |
10468 | +{ 0, 52, "CreateDirectoryW", CreateDirectoryW}, | |
10469 | +{ 0, 53, "CreateEventA", CreateEventA}, | |
10470 | +{ 0, 54, "CreateEventW", CreateEventW}, | |
10471 | +{-1, 55, "CreateFiber", CreateFiber}, | |
10472 | +{-1, 56, "CreateFiberEx", CreateFiberEx}, | |
10473 | +{ 0, 57, "CreateFileA", CreateFileA}, | |
10474 | +{ 0, 58, "CreateFileMappingA", CreateFileMappingA}, | |
10475 | +{ 0, 59, "CreateFileMappingW", CreateFileMappingW}, | |
10476 | +{ 0, 60, "CreateFileW", CreateFileW}, | |
10477 | +{-1, 61, "CreateHardLinkA", CreateHardLinkA}, | |
10478 | +{-1, 62, "CreateHardLinkW", CreateHardLinkW}, | |
10479 | +{-1, 63, "CreateIoCompletionPort", CreateIoCompletionPort}, | |
10480 | +{-1, 64, "CreateJobObjectA", CreateJobObjectA}, | |
10481 | +{-1, 65, "CreateJobObjectW", CreateJobObjectW}, | |
10482 | +{-1, 66, "CreateMailslotA", CreateMailslotA}, | |
10483 | +{-1, 67, "CreateMailslotW", CreateMailslotW}, | |
10484 | +{ 0, 68, "CreateMutexA", CreateMutexA}, | |
10485 | +{ 0, 69, "CreateMutexW", CreateMutexW}, | |
10486 | +{-1, 70, "CreateNamedPipeA", CreateNamedPipeA}, | |
10487 | +{-1, 71, "CreateNamedPipeW", CreateNamedPipeW}, | |
10488 | +{-1, 72, "CreatePipe", CreatePipe}, | |
10489 | +{ 0, 73, "CreateProcessA", CreateProcessA}, | |
10490 | +{-1, 74, "CreateProcessInternalA", CreateProcessInternalA}, | |
10491 | +{-1, 75, "CreateProcessInternalW", CreateProcessInternalW}, | |
10492 | +{-1, 76, "CreateProcessInternalWSecure", CreateProcessInternalWSecure}, | |
10493 | +{ 0, 77, "CreateProcessW", CreateProcessW}, | |
10494 | +{-1, 78, "CreateRemoteThread", CreateRemoteThread}, | |
10495 | +{ 0, 79, "CreateSemaphoreA", CreateSemaphoreA}, | |
10496 | +{ 0, 80, "CreateSemaphoreW", CreateSemaphoreW}, | |
10497 | +{-1, 81, "CreateTapePartition", CreateTapePartition}, | |
10498 | +{ 0, 82, "CreateThread", CreateThread}, | |
10499 | +{-1, 83, "CreateTimerQueue", CreateTimerQueue}, | |
10500 | +{-1, 84, "CreateTimerQueueTimer", CreateTimerQueueTimer}, | |
10501 | +{-1, 85, "CreateToolhelp32Snapshot", CreateToolhelp32Snapshot}, | |
10502 | +{-1, 86, "CreateVirtualBuffer", CreateVirtualBuffer}, | |
10503 | +{-1, 87, "CreateWaitableTimerA", CreateWaitableTimerA}, | |
10504 | +{-1, 88, "CreateWaitableTimerW", CreateWaitableTimerW}, | |
10505 | +{-1, 89, "DebugActiveProcess", DebugActiveProcess}, | |
10506 | +{-1, 90, "DebugBreak", DebugBreak}, | |
10507 | +{-1, 91, "DefineDosDeviceA", DefineDosDeviceA}, | |
10508 | +{-1, 92, "DefineDosDeviceW", DefineDosDeviceW}, | |
10509 | +{-1, 93, "DelayLoadFailureHook", DelayLoadFailureHook}, | |
10510 | +{ 0, 94, "DeleteAtom", DeleteAtom}, | |
10511 | +{ 0, 95, "DeleteCriticalSection", DeleteCriticalSection}, | |
10512 | +{-1, 96, "DeleteFiber", DeleteFiber}, | |
10513 | +{ 0, 97, "DeleteFileA", DeleteFileA}, | |
10514 | +{ 0, 98, "DeleteFileW", DeleteFileW}, | |
10515 | +{-1, 99, "DeleteTimerQueue", DeleteTimerQueue}, | |
10516 | +{-1, 100, "DeleteTimerQueueEx", DeleteTimerQueueEx}, | |
10517 | +{-1, 101, "DeleteTimerQueueTimer", DeleteTimerQueueTimer}, | |
10518 | +{-1, 102, "DeleteVolumeMountPointA", DeleteVolumeMountPointA}, | |
10519 | +{-1, 103, "DeleteVolumeMountPointW", DeleteVolumeMountPointW}, | |
10520 | +{-1, 104, "DeviceIoControl", DeviceIoControl}, | |
10521 | +{ 0, 105, "DisableThreadLibraryCalls", DisableThreadLibraryCalls}, | |
10522 | +{-1, 106, "DisconnectNamedPipe", DisconnectNamedPipe}, | |
10523 | +{-1, 107, "DnsHostnameToComputerNameA", DnsHostnameToComputerNameA}, | |
10524 | +{-1, 108, "DnsHostnameToComputerNameW", DnsHostnameToComputerNameW}, | |
10525 | +{-1, 109, "DosDateTimeToFileTime", DosDateTimeToFileTime}, | |
10526 | +{-1, 110, "DosPathToSessionPathA", DosPathToSessionPathA}, | |
10527 | +{-1, 111, "DosPathToSessionPathW", DosPathToSessionPathW}, | |
10528 | +{-1, 112, "DuplicateConsoleHandle", DuplicateConsoleHandle}, | |
10529 | +{-1, 113, "DuplicateHandle", DuplicateHandle}, | |
10530 | +{-1, 114, "EndUpdateResourceA", EndUpdateResourceA}, | |
10531 | +{-1, 115, "EndUpdateResourceW", EndUpdateResourceW}, | |
10532 | +{ 0, 116, "EnterCriticalSection", EnterCriticalSection}, | |
10533 | +{ 0, 117, "EnumCalendarInfoA", EnumCalendarInfoA}, | |
10534 | +{-1, 118, "EnumCalendarInfoExA", EnumCalendarInfoExA}, | |
10535 | +{-1, 119, "EnumCalendarInfoExW", EnumCalendarInfoExW}, | |
10536 | +{ 0, 120, "EnumCalendarInfoW", EnumCalendarInfoW}, | |
10537 | +{-1, 121, "EnumDateFormatsA", EnumDateFormatsA}, | |
10538 | +{-1, 122, "EnumDateFormatsExA", EnumDateFormatsExA}, | |
10539 | +{-1, 123, "EnumDateFormatsExW", EnumDateFormatsExW}, | |
10540 | +{-1, 124, "EnumDateFormatsW", EnumDateFormatsW}, | |
10541 | +{-1, 125, "EnumLanguageGroupLocalesA", EnumLanguageGroupLocalesA}, | |
10542 | +{-1, 126, "EnumLanguageGroupLocalesW", EnumLanguageGroupLocalesW}, | |
10543 | +{-1, 127, "EnumResourceLanguagesA", EnumResourceLanguagesA}, | |
10544 | +{-1, 128, "EnumResourceLanguagesW", EnumResourceLanguagesW}, | |
10545 | +{-1, 129, "EnumResourceNamesA", EnumResourceNamesA}, | |
10546 | +{-1, 130, "EnumResourceNamesW", EnumResourceNamesW}, | |
10547 | +{-1, 131, "EnumResourceTypesA", EnumResourceTypesA}, | |
10548 | +{-1, 132, "EnumResourceTypesW", EnumResourceTypesW}, | |
10549 | +{-1, 133, "EnumSystemCodePagesA", EnumSystemCodePagesA}, | |
10550 | +{-1, 134, "EnumSystemCodePagesW", EnumSystemCodePagesW}, | |
10551 | +{-1, 135, "EnumSystemLanguageGroupsA", EnumSystemLanguageGroupsA}, | |
10552 | +{-1, 136, "EnumSystemLanguageGroupsW", EnumSystemLanguageGroupsW}, | |
10553 | +{-1, 137, "EnumSystemLocalesA", EnumSystemLocalesA}, | |
10554 | +{-1, 138, "EnumSystemLocalesW", EnumSystemLocalesW}, | |
10555 | +{-1, 139, "EnumTimeFormatsA", EnumTimeFormatsA}, | |
10556 | +{-1, 140, "EnumTimeFormatsW", EnumTimeFormatsW}, | |
10557 | +{-1, 141, "EnumUILanguagesA", EnumUILanguagesA}, | |
10558 | +{-1, 142, "EnumUILanguagesW", EnumUILanguagesW}, | |
10559 | +{-1, 143, "EraseTape", EraseTape}, | |
10560 | +{-1, 144, "EscapeCommFunction", EscapeCommFunction}, | |
10561 | +{ 0, 145, "ExitProcess", ExitProcess}, | |
10562 | +{ 0, 146, "ExitThread", ExitThread}, | |
10563 | +{-1, 147, "ExitVDM", ExitVDM}, | |
10564 | +{-1, 148, "ExpandEnvironmentStringsA", ExpandEnvironmentStringsA}, | |
10565 | +{-1, 149, "ExpandEnvironmentStringsW", ExpandEnvironmentStringsW}, | |
10566 | +{-1, 150, "ExpungeConsoleCommandHistoryA", ExpungeConsoleCommandHistoryA}, | |
10567 | +{-1, 151, "ExpungeConsoleCommandHistoryW", ExpungeConsoleCommandHistoryW}, | |
10568 | +{-1, 152, "ExtendVirtualBuffer", ExtendVirtualBuffer}, | |
10569 | +{-1, 153, "FatalAppExitA", FatalAppExitA}, | |
10570 | +{-1, 154, "FatalAppExitW", FatalAppExitW}, | |
10571 | +{-1, 155, "FatalExit", FatalExit}, | |
10572 | +{-1, 156, "FileTimeToDosDateTime", FileTimeToDosDateTime}, | |
10573 | +{ 0, 157, "FileTimeToLocalFileTime", FileTimeToLocalFileTime}, | |
10574 | +{ 0, 158, "FileTimeToSystemTime", FileTimeToSystemTime}, | |
10575 | +{-1, 159, "FillConsoleOutputAttribute", FillConsoleOutputAttribute}, | |
10576 | +{-1, 160, "FillConsoleOutputCharacterA", FillConsoleOutputCharacterA}, | |
10577 | +{-1, 161, "FillConsoleOutputCharacterW", FillConsoleOutputCharacterW}, | |
10578 | +{ 0, 162, "FindAtomA", FindAtomA}, | |
10579 | +{ 0, 163, "FindAtomW", FindAtomW}, | |
10580 | +{ 0, 164, "FindClose", FindClose}, | |
10581 | +{-1, 165, "FindCloseChangeNotification", FindCloseChangeNotification}, | |
10582 | +{-1, 166, "FindFirstChangeNotificationA", FindFirstChangeNotificationA}, | |
10583 | +{-1, 167, "FindFirstChangeNotificationW", FindFirstChangeNotificationW}, | |
10584 | +{ 0, 168, "FindFirstFileA", FindFirstFileA}, | |
10585 | +{-1, 169, "FindFirstFileExA", FindFirstFileExA}, | |
10586 | +{-1, 170, "FindFirstFileExW", FindFirstFileExW}, | |
10587 | +{ 0, 171, "FindFirstFileW", FindFirstFileW}, | |
10588 | +{-1, 172, "FindFirstVolumeA", FindFirstVolumeA}, | |
10589 | +{-1, 173, "FindFirstVolumeMountPointA", FindFirstVolumeMountPointA}, | |
10590 | +{-1, 174, "FindFirstVolumeMountPointW", FindFirstVolumeMountPointW}, | |
10591 | +{-1, 175, "FindFirstVolumeW", FindFirstVolumeW}, | |
10592 | +{-1, 176, "FindNextChangeNotification", FindNextChangeNotification}, | |
10593 | +{ 0, 177, "FindNextFileA", FindNextFileA}, | |
10594 | +{ 0, 178, "FindNextFileW", FindNextFileW}, | |
10595 | +{-1, 179, "FindNextVolumeA", FindNextVolumeA}, | |
10596 | +{-1, 180, "FindNextVolumeMountPointA", FindNextVolumeMountPointA}, | |
10597 | +{-1, 181, "FindNextVolumeMountPointW", FindNextVolumeMountPointW}, | |
10598 | +{-1, 182, "FindNextVolumeW", FindNextVolumeW}, | |
10599 | +{ 0, 183, "FindResourceA", FindResourceA}, | |
10600 | +{ 0, 184, "FindResourceExA", FindResourceExA}, | |
10601 | +{ 0, 185, "FindResourceExW", FindResourceExW}, | |
10602 | +{ 0, 186, "FindResourceW", FindResourceW}, | |
10603 | +{-1, 187, "FindVolumeClose", FindVolumeClose}, | |
10604 | +{-1, 188, "FindVolumeMountPointClose", FindVolumeMountPointClose}, | |
10605 | +{-1, 189, "FlushConsoleInputBuffer", FlushConsoleInputBuffer}, | |
10606 | +{ 0, 190, "FlushFileBuffers", FlushFileBuffers}, | |
10607 | +{-1, 191, "FlushInstructionCache", FlushInstructionCache}, | |
10608 | +{-1, 192, "FlushViewOfFile", FlushViewOfFile}, | |
10609 | +{-1, 193, "FoldStringA", FoldStringA}, | |
10610 | +{-1, 194, "FoldStringW", FoldStringW}, | |
10611 | +{-1, 195, "FormatMessageA", FormatMessageA}, | |
10612 | +{-1, 196, "FormatMessageW", FormatMessageW}, | |
10613 | +{-1, 197, "FreeConsole", FreeConsole}, | |
10614 | +{ 0, 198, "FreeEnvironmentStringsA", FreeEnvironmentStringsA}, | |
10615 | +{ 0, 199, "FreeEnvironmentStringsW", FreeEnvironmentStringsW}, | |
10616 | +{ 0, 200, "FreeLibrary", FreeLibrary}, | |
10617 | +{-1, 201, "FreeLibraryAndExitThread", FreeLibraryAndExitThread}, | |
10618 | +{ 0, 202, "FreeResource", FreeResource}, | |
10619 | +{-1, 203, "FreeUserPhysicalPages", FreeUserPhysicalPages}, | |
10620 | +{-1, 204, "FreeVirtualBuffer", FreeVirtualBuffer}, | |
10621 | +{-1, 205, "GenerateConsoleCtrlEvent", GenerateConsoleCtrlEvent}, | |
10622 | +{ 0, 206, "GetACP", GetACP}, | |
10623 | +{ 0, 207, "GetAtomNameA", GetAtomNameA}, | |
10624 | +{ 0, 208, "GetAtomNameW", GetAtomNameW}, | |
10625 | +{-1, 209, "GetBinaryType", GetBinaryTypeA}, | |
10626 | +{-1, 210, "GetBinaryTypeA", GetBinaryTypeA}, | |
10627 | +{-1, 211, "GetBinaryTypeW", GetBinaryTypeW}, | |
10628 | +{ 0, 212, "GetCPInfo", GetCPInfo}, | |
10629 | +{ 0, 213, "GetCPInfoExA", GetCPInfoExA}, | |
10630 | +{ 0, 214, "GetCPInfoExW", GetCPInfoExW}, | |
10631 | +{-1, 215, "GetCalendarInfoA", GetCalendarInfoA}, | |
10632 | +{-1, 216, "GetCalendarInfoW", GetCalendarInfoW}, | |
10633 | +{-1, 217, "GetCommConfig", GetCommConfig}, | |
10634 | +{-1, 218, "GetCommMask", GetCommMask}, | |
10635 | +{-1, 219, "GetCommModemStatus", GetCommModemStatus}, | |
10636 | +{-1, 220, "GetCommProperties", GetCommProperties}, | |
10637 | +{-1, 221, "GetCommState", GetCommState}, | |
10638 | +{-1, 222, "GetCommTimeouts", GetCommTimeouts}, | |
10639 | +{ 0, 223, "GetCommandLineA", GetCommandLineA}, | |
10640 | +{ 0, 224, "GetCommandLineW", GetCommandLineW}, | |
10641 | +{-1, 225, "GetCompressedFileSizeA", GetCompressedFileSizeA}, | |
10642 | +{-1, 226, "GetCompressedFileSizeW", GetCompressedFileSizeW}, | |
10643 | +{-1, 227, "GetComputerNameA", GetComputerNameA}, | |
10644 | +{-1, 228, "GetComputerNameExA", GetComputerNameExA}, | |
10645 | +{-1, 229, "GetComputerNameExW", GetComputerNameExW}, | |
10646 | +{-1, 230, "GetComputerNameW", GetComputerNameW}, | |
10647 | +{-1, 231, "GetConsoleAliasA", GetConsoleAliasA}, | |
10648 | +{-1, 232, "GetConsoleAliasExesA", GetConsoleAliasExesA}, | |
10649 | +{-1, 233, "GetConsoleAliasExesLengthA", GetConsoleAliasExesLengthA}, | |
10650 | +{-1, 234, "GetConsoleAliasExesLengthW", GetConsoleAliasExesLengthW}, | |
10651 | +{-1, 235, "GetConsoleAliasExesW", GetConsoleAliasExesW}, | |
10652 | +{-1, 236, "GetConsoleAliasW", GetConsoleAliasW}, | |
10653 | +{-1, 237, "GetConsoleAliasesA", GetConsoleAliasesA}, | |
10654 | +{-1, 238, "GetConsoleAliasesLengthA", GetConsoleAliasesLengthA}, | |
10655 | +{-1, 239, "GetConsoleAliasesLengthW", GetConsoleAliasesLengthW}, | |
10656 | +{-1, 240, "GetConsoleAliasesW", GetConsoleAliasesW}, | |
10657 | +{-1, 241, "GetConsoleCP", GetConsoleCP}, | |
10658 | +{-1, 242, "GetConsoleCharType", GetConsoleCharType}, | |
10659 | +{-1, 243, "GetConsoleCommandHistoryA", GetConsoleCommandHistoryA}, | |
10660 | +{-1, 244, "GetConsoleCommandHistoryLengthA", GetConsoleCommandHistoryLengthA}, | |
10661 | +{-1, 245, "GetConsoleCommandHistoryLengthW", GetConsoleCommandHistoryLengthW}, | |
10662 | +{-1, 246, "GetConsoleCommandHistoryW", GetConsoleCommandHistoryW}, | |
10663 | +{-1, 247, "GetConsoleCursorInfo", GetConsoleCursorInfo}, | |
10664 | +{-1, 248, "GetConsoleCursorMode", GetConsoleCursorMode}, | |
10665 | +{-1, 249, "GetConsoleDisplayMode", GetConsoleDisplayMode}, | |
10666 | +{-1, 250, "GetConsoleFontInfo", GetConsoleFontInfo}, | |
10667 | +{-1, 251, "GetConsoleFontSize", GetConsoleFontSize}, | |
10668 | +{-1, 252, "GetConsoleHardwareState", GetConsoleHardwareState}, | |
10669 | +{-1, 253, "GetConsoleInputExeNameA", GetConsoleInputExeNameA}, | |
10670 | +{-1, 254, "GetConsoleInputExeNameW", GetConsoleInputExeNameW}, | |
10671 | +{-1, 255, "GetConsoleInputWaitHandle", GetConsoleInputWaitHandle}, | |
10672 | +{-1, 256, "GetConsoleKeyboardLayoutNameA", GetConsoleKeyboardLayoutNameA}, | |
10673 | +{-1, 257, "GetConsoleKeyboardLayoutNameW", GetConsoleKeyboardLayoutNameW}, | |
10674 | +{-1, 258, "GetConsoleMode", GetConsoleMode}, | |
10675 | +{-1, 259, "GetConsoleNlsMode", GetConsoleNlsMode}, | |
10676 | +{-1, 260, "GetConsoleOutputCP", GetConsoleOutputCP}, | |
10677 | +{-1, 261, "GetConsoleScreenBufferInfo", GetConsoleScreenBufferInfo}, | |
10678 | +{-1, 262, "GetConsoleTitleA", GetConsoleTitleA}, | |
10679 | +{-1, 263, "GetConsoleTitleW", GetConsoleTitleW}, | |
10680 | +{-1, 264, "GetConsoleWindow", GetConsoleWindow}, | |
10681 | +{-1, 265, "GetCurrencyFormatA", GetCurrencyFormatA}, | |
10682 | +{-1, 266, "GetCurrencyFormatW", GetCurrencyFormatW}, | |
10683 | +{-1, 267, "GetCurrentConsoleFont", GetCurrentConsoleFont}, | |
10684 | +{ 0, 268, "GetCurrentDirectoryA", GetCurrentDirectoryA}, | |
10685 | +{ 0, 269, "GetCurrentDirectoryW", GetCurrentDirectoryW}, | |
10686 | +{ 0, 270, "GetCurrentProcess", GetCurrentProcess}, | |
10687 | +{-1, 271, "GetCurrentProcessId", GetCurrentProcessId}, | |
10688 | +{ 0, 272, "GetCurrentThread", GetCurrentThread}, | |
10689 | +{ 0, 273, "GetCurrentThreadId", GetCurrentThreadId}, | |
10690 | +{-1, 274, "GetDateFormatA", GetDateFormatA}, | |
10691 | +{-1, 275, "GetDateFormatW", GetDateFormatW}, | |
10692 | +{-1, 276, "GetDefaultCommConfigA", GetDefaultCommConfigA}, | |
10693 | +{-1, 277, "GetDefaultCommConfigW", GetDefaultCommConfigW}, | |
10694 | +{-1, 278, "GetDefaultSortkeySize", GetDefaultSortkeySize}, | |
10695 | +{-1, 279, "GetDevicePowerState", GetDevicePowerState}, | |
10696 | +{ 0, 280, "GetDiskFreeSpaceA", GetDiskFreeSpaceA}, | |
10697 | +{ 0, 281, "GetDiskFreeSpaceExA", GetDiskFreeSpaceExA}, | |
10698 | +{ 0, 282, "GetDiskFreeSpaceExW", GetDiskFreeSpaceExW}, | |
10699 | +{ 0, 283, "GetDiskFreeSpaceW", GetDiskFreeSpaceW}, | |
10700 | +{-1, 284, "GetDriveTypeA", GetDriveTypeA}, | |
10701 | +{-1, 285, "GetDriveTypeW", GetDriveTypeW}, | |
10702 | +{ 0, 286, "GetEnvironmentStrings", GetEnvironmentStringsA}, | |
10703 | +{ 0, 287, "GetEnvironmentStringsA", GetEnvironmentStringsA}, | |
10704 | +{ 0, 288, "GetEnvironmentStringsW", GetEnvironmentStringsW}, | |
10705 | +{ 0, 289, "GetEnvironmentVariableA", GetEnvironmentVariableA}, | |
10706 | +{ 0, 290, "GetEnvironmentVariableW", GetEnvironmentVariableW}, | |
10707 | +{-1, 291, "GetExitCodeProcess", GetExitCodeProcess}, | |
10708 | +{-1, 292, "GetExitCodeThread", GetExitCodeThread}, | |
10709 | +{ 0, 293, "GetFileAttributesA", GetFileAttributesA}, | |
10710 | +{-1, 294, "GetFileAttributesExA", GetFileAttributesExA}, | |
10711 | +{-1, 295, "GetFileAttributesExW", GetFileAttributesExW}, | |
10712 | +{ 0, 296, "GetFileAttributesW", GetFileAttributesW}, | |
10713 | +{-1, 297, "GetFileInformationByHandle", GetFileInformationByHandle}, | |
10714 | +{ 0, 298, "GetFileSize", GetFileSize}, | |
10715 | +{-1, 299, "GetFileSizeEx", GetFileSizeEx}, | |
10716 | +{ 0, 300, "GetFileTime", GetFileTime}, | |
10717 | +{ 0, 301, "GetFileType", GetFileType}, | |
10718 | +{ 0, 302, "GetFullPathNameA", GetFullPathNameA}, | |
10719 | +{ 0, 303, "GetFullPathNameW", GetFullPathNameW}, | |
10720 | +{-1, 304, "GetHandleInformation", GetHandleInformation}, | |
10721 | +{-1, 305, "GetLargestConsoleWindowSize", GetLargestConsoleWindowSize}, | |
10722 | +{ 0, 306, "GetLastError", GetLastError}, | |
10723 | +{-1, 307, "GetLinguistLangSize", GetLinguistLangSize}, | |
10724 | +{ 0, 308, "GetLocalTime", GetLocalTime}, | |
10725 | +{ 0, 309, "GetLocaleInfoA", GetLocaleInfoA}, | |
10726 | +{ 0, 310, "GetLocaleInfoW", GetLocaleInfoW}, | |
10727 | +{ 0, 311, "GetLogicalDriveStringsA", GetLogicalDriveStringsA}, | |
10728 | +{ 0, 312, "GetLogicalDriveStringsW", GetLogicalDriveStringsW}, | |
10729 | +{-1, 313, "GetLogicalDrives", GetLogicalDrives}, | |
10730 | +{-1, 314, "GetLongPathNameA", GetLongPathNameA}, | |
10731 | +{-1, 315, "GetLongPathNameW", GetLongPathNameW}, | |
10732 | +{-1, 316, "GetMailslotInfo", GetMailslotInfo}, | |
10733 | +{ 0, 317, "GetModuleFileNameA", GetModuleFileNameA}, | |
10734 | +{ 0, 318, "GetModuleFileNameW", GetModuleFileNameW}, | |
10735 | +{ 0, 319, "GetModuleHandleA", GetModuleHandleA}, | |
10736 | +{ 0, 320, "GetModuleHandleW", GetModuleHandleW}, | |
10737 | +{-1, 321, "GetNamedPipeHandleStateA", GetNamedPipeHandleStateA}, | |
10738 | +{-1, 322, "GetNamedPipeHandleStateW", GetNamedPipeHandleStateW}, | |
10739 | +{-1, 323, "GetNamedPipeInfo", GetNamedPipeInfo}, | |
10740 | +{-1, 324, "GetNextVDMCommand", GetNextVDMCommand}, | |
10741 | +{-1, 325, "GetNlsSectionName", GetNlsSectionName}, | |
10742 | +{-1, 326, "GetNumberFormatA", GetNumberFormatA}, | |
10743 | +{-1, 327, "GetNumberFormatW", GetNumberFormatW}, | |
10744 | +{-1, 328, "GetNumberOfConsoleFonts", GetNumberOfConsoleFonts}, | |
10745 | +{-1, 329, "GetNumberOfConsoleInputEvents", GetNumberOfConsoleInputEvents}, | |
10746 | +{-1, 330, "GetNumberOfConsoleMouseButtons", GetNumberOfConsoleMouseButtons}, | |
10747 | +{ 0, 331, "GetOEMCP", GetOEMCP}, | |
10748 | +{-1, 332, "GetOverlappedResult", GetOverlappedResult}, | |
10749 | +{-1, 333, "GetPriorityClass", GetPriorityClass}, | |
10750 | +{ 0, 334, "GetPrivateProfileIntA", GetPrivateProfileIntA}, | |
10751 | +{ 0, 335, "GetPrivateProfileIntW", GetPrivateProfileIntW}, | |
10752 | +{ 0, 336, "GetPrivateProfileSectionA", GetPrivateProfileSectionA}, | |
10753 | +{ 0, 337, "GetPrivateProfileSectionNamesA", GetPrivateProfileSectionNamesA}, | |
10754 | +{-1, 338, "GetPrivateProfileSectionNamesW", GetPrivateProfileSectionNamesW}, | |
10755 | +{ 0, 339, "GetPrivateProfileSectionW", GetPrivateProfileSectionW}, | |
10756 | +{ 0, 340, "GetPrivateProfileStringA", GetPrivateProfileStringA}, | |
10757 | +{ 0, 341, "GetPrivateProfileStringW", GetPrivateProfileStringW}, | |
10758 | +{ 0, 342, "GetPrivateProfileStructA", GetPrivateProfileStructA}, | |
10759 | +{ 0, 343, "GetPrivateProfileStructW", GetPrivateProfileStructW}, | |
10760 | +{ 0, 344, "GetProcAddress", GetProcAddress}, | |
10761 | +{ 0, 345, "GetProcessAffinityMask", GetProcessAffinityMask}, | |
10762 | +{ 0, 346, "GetProcessHeap", GetProcessHeap}, | |
10763 | +{ 0, 347, "GetProcessHeaps", GetProcessHeaps}, | |
10764 | +{-1, 348, "GetProcessIoCounters", GetProcessIoCounters}, | |
10765 | +{-1, 349, "GetProcessPriorityBoost", GetProcessPriorityBoost}, | |
10766 | +{-1, 350, "GetProcessShutdownParameters", GetProcessShutdownParameters}, | |
10767 | +{-1, 351, "GetProcessTimes", GetProcessTimes}, | |
10768 | +{-1, 352, "GetProcessVersion", GetProcessVersion}, | |
10769 | +{-1, 353, "GetProcessWorkingSetSize", GetProcessWorkingSetSize}, | |
10770 | +{ 0, 354, "GetProfileIntA", GetProfileIntA}, | |
10771 | +{ 0, 355, "GetProfileIntW", GetProfileIntW}, | |
10772 | +{ 0, 356, "GetProfileSectionA", GetProfileSectionA}, | |
10773 | +{ 0, 357, "GetProfileSectionW", GetProfileSectionW}, | |
10774 | +{ 0, 358, "GetProfileStringA", GetProfileStringA}, | |
10775 | +{ 0, 359, "GetProfileStringW", GetProfileStringW}, | |
10776 | +{-1, 360, "GetQueuedCompletionStatus", GetQueuedCompletionStatus}, | |
10777 | +{ 0, 361, "GetShortPathNameA", GetShortPathNameA}, | |
10778 | +{ 0, 362, "GetShortPathNameW", GetShortPathNameW}, | |
10779 | +{ 0, 363, "GetStartupInfoA", GetStartupInfoA}, | |
10780 | +{ 0, 364, "GetStartupInfoW", GetStartupInfoW}, | |
10781 | +{ 0, 365, "GetStdHandle", GetStdHandle}, | |
10782 | +{ 0, 366, "GetStringTypeA", GetStringTypeA}, | |
10783 | +{-1, 367, "GetStringTypeExA", GetStringTypeExA}, | |
10784 | +{-1, 368, "GetStringTypeExW", GetStringTypeExW}, | |
10785 | +{ 0, 369, "GetStringTypeW", GetStringTypeW}, | |
10786 | +{ 0, 370, "GetSystemDefaultLCID", GetSystemDefaultLCID}, | |
10787 | +{ 0, 371, "GetSystemDefaultLangID", GetSystemDefaultLangID}, | |
10788 | +{ 0, 372, "GetSystemDefaultUILanguage", GetSystemDefaultUILanguage}, | |
10789 | +{ 0, 373, "GetSystemDirectoryA", GetSystemDirectoryA}, | |
10790 | +{ 0, 374, "GetSystemDirectoryW", GetSystemDirectoryW}, | |
10791 | +{ 0, 375, "GetSystemInfo", GetSystemInfo}, | |
10792 | +{-1, 376, "GetSystemPowerStatus", GetSystemPowerStatus}, | |
10793 | +{ 0, 377, "GetSystemTime", GetSystemTime}, | |
10794 | +{-1, 378, "GetSystemTimeAdjustment", GetSystemTimeAdjustment}, | |
10795 | +{ 0, 379, "GetSystemTimeAsFileTime", GetSystemTimeAsFileTime}, | |
10796 | +{-1, 380, "GetSystemWindowsDirectoryA", GetSystemWindowsDirectoryA}, | |
10797 | +{-1, 381, "GetSystemWindowsDirectoryW", GetSystemWindowsDirectoryW}, | |
10798 | +{-1, 382, "GetTapeParameters", GetTapeParameters}, | |
10799 | +{-1, 383, "GetTapePosition", GetTapePosition}, | |
10800 | +{-1, 384, "GetTapeStatus", GetTapeStatus}, | |
10801 | +{ 0, 385, "GetTempFileNameA", GetTempFileNameA}, | |
10802 | +{ 0, 386, "GetTempFileNameW", GetTempFileNameW}, | |
10803 | +{ 0, 387, "GetTempPathA", GetTempPathA}, | |
10804 | +{ 0, 388, "GetTempPathW", GetTempPathW}, | |
10805 | +{-1, 389, "GetThreadContext", GetThreadContext}, | |
10806 | +{ 0, 390, "GetThreadLocale", GetThreadLocale}, | |
10807 | +{ 0, 391, "GetThreadPriority", GetThreadPriority}, | |
10808 | +{-1, 392, "GetThreadPriorityBoost", GetThreadPriorityBoost}, | |
10809 | +{-1, 393, "GetThreadSelectorEntry", GetThreadSelectorEntry}, | |
10810 | +{-1, 394, "GetThreadTimes", GetThreadTimes}, | |
10811 | +{ 0, 395, "GetTickCount", GetTickCount}, | |
10812 | +{-1, 396, "GetTimeFormatA", GetTimeFormatA}, | |
10813 | +{-1, 397, "GetTimeFormatW", GetTimeFormatW}, | |
10814 | +{ 0, 398, "GetTimeZoneInformation", GetTimeZoneInformation}, | |
10815 | +{ 0, 399, "GetUserDefaultLCID", GetUserDefaultLCID}, | |
10816 | +{ 0, 400, "GetUserDefaultLangID", GetUserDefaultLangID}, | |
10817 | +{ 0, 401, "GetUserDefaultUILanguage", GetUserDefaultUILanguage}, | |
10818 | +{-1, 402, "GetVDMCurrentDirectories", GetVDMCurrentDirectories}, | |
10819 | +{ 0, 403, "GetVersion", GetVersion}, | |
10820 | +{ 0, 404, "GetVersionExA", GetVersionExA}, | |
10821 | +{ 0, 405, "GetVersionExW", GetVersionExW}, | |
10822 | +{-1, 406, "GetVolumeInformationA", GetVolumeInformationA}, | |
10823 | +{-1, 407, "GetVolumeInformationW", GetVolumeInformationW}, | |
10824 | +{-1, 408, "GetVolumeNameForVolumeMountPointA", GetVolumeNameForVolumeMountPointA}, | |
10825 | +{-1, 409, "GetVolumeNameForVolumeMountPointW", GetVolumeNameForVolumeMountPointW}, | |
10826 | +{-1, 410, "GetVolumePathNameA", GetVolumePathNameA}, | |
10827 | +{-1, 411, "GetVolumePathNameW", GetVolumePathNameW}, | |
10828 | +{-1, 412, "GetWindowsDirectoryA", GetWindowsDirectoryA}, | |
10829 | +{-1, 413, "GetWindowsDirectoryW", GetWindowsDirectoryW}, | |
10830 | +{-1, 414, "GetWriteWatch", GetWriteWatch}, | |
10831 | +{ 0, 415, "GlobalAddAtomA", GlobalAddAtomA}, | |
10832 | +{ 0, 416, "GlobalAddAtomW", GlobalAddAtomW}, | |
10833 | +{ 0, 417, "GlobalAlloc", GlobalAlloc}, | |
10834 | +{-1, 418, "GlobalCompact", GlobalCompact}, | |
10835 | +{ 0, 419, "GlobalDeleteAtom", GlobalDeleteAtom}, | |
10836 | +{ 0, 420, "GlobalFindAtomA", GlobalFindAtomA}, | |
10837 | +{ 0, 421, "GlobalFindAtomW", GlobalFindAtomW}, | |
10838 | +{-1, 422, "GlobalFix", GlobalFix}, | |
10839 | +{ 0, 423, "GlobalFlags", GlobalFlags}, | |
10840 | +{ 0, 424, "GlobalFree", GlobalFree}, | |
10841 | +{ 0, 425, "GlobalGetAtomNameA", GlobalGetAtomNameA}, | |
10842 | +{ 0, 426, "GlobalGetAtomNameW", GlobalGetAtomNameW}, | |
10843 | +{ 0, 427, "GlobalHandle", GlobalHandle}, | |
10844 | +{ 0, 428, "GlobalLock", GlobalLock}, | |
10845 | +{-1, 429, "GlobalMemoryStatus", GlobalMemoryStatus}, | |
10846 | +{-1, 430, "GlobalMemoryStatusEx", GlobalMemoryStatusEx}, | |
10847 | +{ 0, 431, "GlobalReAlloc", GlobalReAlloc}, | |
10848 | +{ 0, 432, "GlobalSize", GlobalSize}, | |
10849 | +{-1, 433, "GlobalUnWire", GlobalUnWire}, | |
10850 | +{-1, 434, "GlobalUnfix", GlobalUnfix}, | |
10851 | +{ 0, 435, "GlobalUnlock", GlobalUnlock}, | |
10852 | +{-1, 436, "GlobalWire", GlobalWire}, | |
10853 | +{-1, 437, "Heap32First", Heap32First}, | |
10854 | +{-1, 438, "Heap32ListFirst", Heap32ListFirst}, | |
10855 | +{-1, 439, "Heap32ListNext", Heap32ListNext}, | |
10856 | +{-1, 440, "Heap32Next", Heap32Next}, | |
10857 | +{ 0, 441, "HeapAlloc", HeapAlloc}, | |
10858 | +{-1, 442, "HeapCompact", HeapCompact}, | |
10859 | +{ 0, 443, "HeapCreate", HeapCreate}, | |
10860 | +{-1, 444, "HeapCreateTagsW", HeapCreateTagsW}, | |
10861 | +{ 0, 445, "HeapDestroy", HeapDestroy}, | |
10862 | +{-1, 446, "HeapExtend", HeapExtend}, | |
10863 | +{ 0, 447, "HeapFree", HeapFree}, | |
10864 | +{-1, 448, "HeapLock", HeapLock}, | |
10865 | +{-1, 449, "HeapQueryInformation", HeapQueryInformation}, | |
10866 | +{-1, 450, "HeapQueryTagW", HeapQueryTagW}, | |
10867 | +{ 0, 451, "HeapReAlloc", HeapReAlloc}, | |
10868 | +{-1, 452, "HeapSetInformation", HeapSetInformation}, | |
10869 | +{ 0, 453, "HeapSize", HeapSize}, | |
10870 | +{-1, 454, "HeapSummary", HeapSummary}, | |
10871 | +{-1, 455, "HeapUnlock", HeapUnlock}, | |
10872 | +{-1, 456, "HeapUsage", HeapUsage}, | |
10873 | +{-1, 457, "HeapValidate", HeapValidate}, | |
10874 | +{-1, 458, "HeapWalk", HeapWalk}, | |
10875 | +{ 0, 459, "InitAtomTable", InitAtomTable}, | |
10876 | +{ 0, 460, "InitializeCriticalSection", InitializeCriticalSection}, | |
10877 | +{-1, 461, "InitializeCriticalSectionAndSpinCount", InitializeCriticalSectionAndSpinCount}, | |
10878 | +{ 0, 462, "InterlockedCompareExchange", InterlockedCompareExchange}, | |
10879 | +{ 0, 463, "InterlockedDecrement", InterlockedDecrement}, | |
10880 | +{ 0, 464, "InterlockedExchange", InterlockedExchange}, | |
10881 | +{ 0, 465, "InterlockedExchangeAdd", InterlockedExchangeAdd}, | |
10882 | +{ 0, 466, "InterlockedIncrement", InterlockedIncrement}, | |
10883 | +{-1, 467, "InvalidateConsoleDIBits", InvalidateConsoleDIBits}, | |
10884 | +{ 0, 468, "IsBadCodePtr", IsBadCodePtr}, | |
10885 | +{-1, 469, "IsBadHugeReadPtr", IsBadHugeReadPtr}, | |
10886 | +{-1, 470, "IsBadHugeWritePtr", IsBadHugeWritePtr}, | |
10887 | +{ 0, 471, "IsBadReadPtr", IsBadReadPtr}, | |
10888 | +{-1, 472, "IsBadStringPtrA", IsBadStringPtrA}, | |
10889 | +{-1, 473, "IsBadStringPtrW", IsBadStringPtrW}, | |
10890 | +{ 0, 474, "IsBadWritePtr", IsBadWritePtr}, | |
10891 | +{ 0, 475, "IsDBCSLeadByte", IsDBCSLeadByte}, | |
10892 | +{ 0, 476, "IsDBCSLeadByteEx", IsDBCSLeadByteEx}, | |
10893 | +{-1, 477, "IsDebuggerPresent", IsDebuggerPresent}, | |
10894 | +{-1, 478, "IsProcessorFeaturePresent", IsProcessorFeaturePresent}, | |
10895 | +{-1, 479, "IsSystemResumeAutomatic", IsSystemR |