Rev 9669 | Go to most recent revision | Details | Last modification | View Log | RSS feed
Rev | Author | Line No. | Line |
---|---|---|---|
8709 | Coldy | 1 | |
2 | History |
||
3 | |||
4 | |||
5 | dll.obj process app import table, but not depended librarys, after that app gots control in his starting point |
||
6 | |||
7 | |||
8 | + Add KX header processing |
||
9 | + Improved import table test logic, no reason to kill app for import absence - skip import processing (tnx ProMiNick) |
||
10 | |||
11 | |||
12 | Purpose |
||
13 | |||
14 | |||
15 | |||
16 | |||
17 | Limitations |
||
18 | |||
19 | |||
20 | |||
21 | |||
22 | |||
23 | |||
24 | |||
25 | |||
26 | How to use |
||
27 | |||
28 | |||
29 | 1) In the version field of a header, (after MENUET0x) you must specify the number 2 |
||
30 | 2) After existing header add KX header extension as descriprion bellow |
||
31 | 3) Specify imported libraries. Currentry format of import table same as in case of using dll.Load |
||
32 | 4) Add code, without connecting dll.inc and, accordingly, without calling dll.Load. The heap initialization function (f. 68.11) does not need to be called either. |
||
33 | |||
34 | |||
35 | If the DLL.OBJ library is missing, a message will be displayed, incl. via @NOTIFY. If you get a page error make sure you have completed steps 2 and 3 |
||
36 | |||
37 | |||
38 | Not supported yet, will be realized later. |
||
39 | 1) Field optHeader of COFF header need set in 8+n*4, where n is count of fields after KX header |
||
40 | 2) After COFF header add KX header extension (in general same as in case for app) |
||
41 | |||
42 | |||
43 | Descriprion of KX header extension (alpha). |
||
44 | |||
45 | |||
46 | By default all offsets and sizes given in bytes, for Flags field offsets and size given in bits. |
||
47 | Offset 4.x meaning offset 4 bit x |
||
48 | |||
49 | |||
50 | |||
51 | |||
52 | |||
53 | |||
54 | |||
55 | |||
56 | |||
57 | |||
58 | In the future, it can take on the revision value |
||
59 | (but can't take values higher than 64) |
||
60 | |||
61 | |||
62 | |||
63 | |||
64 | |||
65 | |||
66 | |||
67 | |||
68 | |||
69 | |||
70 | |||
71 | |||
72 | |||
73 | |||
74 | |||
75 | |||
76 | |||
77 | |||
78 | |||
79 | |||
80 | |||
81 | |||
82 | |||
83 | |||
84 | |||
85 | |||
86 | |||
87 | |||
88 | |||
89 | |||
90 | |||
91 | |||
92 | |||
93 | |||
94 | ? 4 ExportsHeader Pointer to export header (exists if F_Export=1), KX style export table not supported yet. Currently by backward compatibility reason used legacy style of export table, this field pointed to it |
||
95 | } |
||
96 | |||
97 | |||
98 | ? 4 ImportsHeader Pointer to imports header (exists if F_Import=1), KX style import table not supported yet. Currently by backward compatibility reason used legacy style of import table, this field pointed to it |
||
99 | } |
||
100 | |||
101 | |||
102 | |||
103 | |||
104 | EOF |
||
105 |