Rev 9669 | Details | Compare with Previous | Last modification | View Log | RSS feed
Rev | Author | Line No. | Line |
---|---|---|---|
8709 | Coldy | 1 | |
2 | History |
||
3 | |||
4 | |||
9669 | Coldy | 5 | dll.obj process app import table, but not depended librarys, after that app gots control in his starting point |
6 | |||
8709 | Coldy | 7 | |
9669 | Coldy | 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 | + Added ReadMe.txt (this doc) |
||
11 | |||
8709 | Coldy | 12 | |
9669 | Coldy | 13 | Added corrsponding error codes if one of library or entry not found |
14 | + Added error handling with detailed inform user which error occurred through @notify. |
||
9670 | Coldy | 15 | Now application is not crashed if bad format, can't load library or no found entry |
9669 | Coldy | 16 | |
17 | |||
18 | |||
8709 | Coldy | 19 | |
20 | |||
21 | |||
22 | |||
23 | TODO |
||
9669 | Coldy | 24 | |
8709 | Coldy | 25 | |
9669 | Coldy | 26 | |
8709 | Coldy | 27 | |
28 | How to use |
||
29 | |||
30 | |||
31 | 1) In the version field of a header, (after MENUET0x) you must specify the number 2 |
||
32 | 2) After existing header add KX header extension as descriprion bellow |
||
33 | 3) Specify imported libraries. Currentry format of import table same as in case of using dll.Load |
||
34 | 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. |
||
9669 | Coldy | 35 | |
8709 | Coldy | 36 | |
37 | 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 |
||
38 | |||
39 | |||
40 | Not supported yet, will be realized later. |
||
41 | 1) Field optHeader of COFF header need set in 8+n*4, where n is count of fields after KX header |
||
42 | 2) After COFF header add KX header extension (in general same as in case for app) |
||
43 | |||
44 | |||
45 | Descriprion of KX header extension (alpha). |
||
46 | |||
47 | |||
48 | By default all offsets and sizes given in bytes, for Flags field offsets and size given in bits. |
||
49 | Offset 4.x meaning offset 4 bit x |
||
50 | |||
51 | |||
52 | |||
53 | |||
54 | |||
55 | |||
56 | |||
57 | |||
58 | |||
59 | |||
9669 | Coldy | 60 | In the future, it can take on the revision value |
8709 | Coldy | 61 | (but can't take values higher than 64) |
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 | |||
95 | |||
96 | ? 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 |
||
97 | } |
||
98 | |||
99 | |||
100 | ? 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 |
||
101 | } |
||
102 | |||
103 | |||
104 | |||
105 | |||
106 | EOF |
||
107 |