亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? winload.txt

?? windows exe文件的結(jié)構(gòu)、初始化
?? TXT
字號(hào):

Self-Loading Windows Applications Overview (3.1)

This topic describes the contents of a unique segment that is 
found only in self-loading applications for the Windows 
operating system. This segment contains six functions: three 
that the application developer supplies and three that the 
Windows kernel supplies. The segment also contains a table of 
pointers to these functions and loader code. 
This topic contains references to the Windows (new-style) 
header and the data tables in a Windows executable file. 

Loader Functions

The Windows kernel provides a loader function that places 
applications into memory and passes execution to a specified 
entry point. Some Windows applications, however, must bypass 
this kernel function and load themselves in order to be 
executed correctly. For example, a compiler for Windows might 
contain two floating-point modules: one requiring a math 
coprocessor and one emulating the coprocessor. The standard 
loader function in the Windows kernel does not provide a 
method of specifying that code in one module should be loaded 
in place of code in another; this means that the compiler 
needs to load the appropriate code itself in order to run 
efficiently and correctly. Likewise, the code for a Windows 
application might be compressed with a special compression 
algorithm in order to fit on a certain number of disks, but 
the standard loader function does not provide a method for 
dealing with a compressed file format. The application, 
therefore, must load itself in order to be executed 
correctly. 
To indicate that a Windows application is self-loading, the 
16-bit flag value in the executable file's Windows header 
must contain the value 0x0800 (that is, bit 11 must be set). 
Otherwise, Windows ignores the private loader code and 
installs the application by using the standard loader 
functions in the Windows kernel. 

Loader Data Table

In addition to the loader functions, the first segment of a 
self-loading Windows application contains a loader data table 
with far pointers to each of the loader functions. The format 
of this table follows: 

Location Description

0x00     Specifies the version number (this value must be 
         0xA0). 
0x02     Reserved. 
0x04     Points to a startup procedure, which the application 
         developer provides. 
0x08     Points to a reloading procedure, which the 
         application developer provides. 
0x0C     Reserved. 
0x10     Points to a memory-allocation procedure, which the 
         kernel provides. 
0x14     Points to an entry-number procedure, which the kernel 
         provides. 
0x18     Points to an exit procedure, which the application 
         developer provides. 
0x1C     Reserved. 
0x1E     Reserved. 
0x20     Reserved. 
0x22     Reserved. 
0x24     Points to a set-owner procedure, which the kernel 
         provides. 
All of the pointers in this table must point to locations 
within the first segment. There can be no fixups outside this 
segment. 
After the segment table for an executable file is loaded into 
memory, each entry contains an additional 16-bit value. This 
value is a segment selector (or handle) that the loader 
created. 

Loader Code

The first segment of a self-loading Windows application 
contains loader code for the six required loader functions. 
The code loads and reloads segments and resets hardware. 

Loading Segments

The kernel calls the BootApp function supplied by the 
application developer, instead of loading the application in 
the normal manner, if the 16-bit value in the information 
block for the Windows header contains the value 0x0800 (that 
is, bit 11 is set). The BootApp function allocates memory for 
all segments by calling the kernel-supplied MyAlloc function. 
If the segment is identified as a PRELOAD or FIXED type, 
BootApp also calls the LoadAppSeg function (another function 
supplied by the application developer). The BootApp function 
also calls SetOwner, a kernel-supplied function, to associate 
the correct information block with each segment handle. 
The first segment that the BootApp function should allocate 
is the application's automatic data segment. This data 
segment contains the application's stack. The automatic data 
segment must be allocated before the BootApp function calls 
the Windows PatchCodeHandle function.

Reloading Segments

In addition to loading segments, the LoadAppSeg function 
reloads segments that the Windows kernel has discarded. 
Because the LoadAppSeg function is responsible for reloading 
segments, it must update bits 1 and 2 of the 16-bit flag 
value in the segment table. (Only self-loading applications 
should alter the Windows header or the data tables that 
follow it.) Bit 1 specifies whether memory is allocated for 
the segment, and bit 2 specifies whether the segment is 
currently loaded. For a complete description of the segment 
table, see Executable-File Format. 
If the loader allocates memory for a segment but the segment 
is not loaded (that is, bit 1 is set and bit 2 is not), the 
LoadAppSeg function should call the Windows GlobalHandle 
function to determine whether memory is allocated for the 
segment. If memory is not allocated, the LoadAppSeg function 
should call the Windows GlobalReAlloc function to reallocate 
memory for the segment. 
Once memory is allocated, the LoadAppSeg function should read 
the segment from the executable file and call the 
PatchCodeHandle function to correct each function prolog that 
occurs in the segment. Once the function prologs are altered, 
the LoadAppSeg function should resolve any far pointers that 
occur in the segment. If the pointer is specified by an 
ordinal value, the LoadAppSeg function should call the 
kernel-supplied EntryAddrProc function to resolve the 
address. 

Resetting Hardware

When closing a self-loading application, the kernel calls the 
ExitProc function, supplied by the application developer, to 
reset any hardware that a dynamic-link library may have 
accessed. However, the ExitProc function does not need to 
free memory or close files. 

Function Reference

This section provides information about the functions 
supplied by the application developer and by the kernel for 
self-loading Windows applications. 

See Also

BootApp, EntryAddrProc, ExitProc, MyAlloc, PatchCodeHandle, 
LoadAppSeg, SetOwner 

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲h精品动漫在线观看| 欧美激情一区二区三区四区| 午夜一区二区三区视频| 在线观看网站黄不卡| 亚洲v中文字幕| 欧美猛男超大videosgay| 丝袜a∨在线一区二区三区不卡| 欧美一区二区在线免费观看| 久久99九九99精品| 亚洲国产成人在线| 91久久精品日日躁夜夜躁欧美| 亚洲国产精品久久不卡毛片 | 亚洲精品国产第一综合99久久| 91浏览器在线视频| 五月婷婷激情综合| 欧美精品一区男女天堂| 99久久国产综合色|国产精品| 午夜精品免费在线观看| 精品日产卡一卡二卡麻豆| 丰满少妇在线播放bd日韩电影| 亚洲欧洲综合另类| 欧美一区二区在线看| 成av人片一区二区| 青草国产精品久久久久久| 欧美国产一区在线| 欧美狂野另类xxxxoooo| 国产成人精品一区二区三区四区| 亚洲综合激情小说| 久久久久久一二三区| 91成人看片片| 国产一区日韩二区欧美三区| 亚洲午夜私人影院| 国产欧美日韩卡一| 666欧美在线视频| 懂色av一区二区三区免费观看 | 92国产精品观看| 麻豆成人久久精品二区三区小说| 国产精品毛片a∨一区二区三区| 在线电影一区二区三区| 99国产精品久久久久久久久久久 | 欧美日韩国产免费一区二区| 成人黄色在线视频| 麻豆国产精品官网| 亚洲尤物在线视频观看| 中文字幕成人网| 日韩视频免费直播| 欧美伊人久久久久久久久影院| 国产不卡高清在线观看视频| 日本亚洲免费观看| 国产一区二区三区视频在线播放| 亚洲一二三级电影| 国产精品国产三级国产| 精品国产一区二区三区不卡| 欧美日韩国产高清一区二区三区 | 国产精品久久久久国产精品日日| 91精品国产欧美日韩| 欧美亚洲一区二区在线| 97精品超碰一区二区三区| 国产一区二区三区香蕉| 免费高清不卡av| 日韩电影免费一区| 亚洲国产毛片aaaaa无费看| 国产精品护士白丝一区av| 欧美成人性福生活免费看| 91精品国产综合久久小美女| 欧美三级中文字幕在线观看| 一本色道亚洲精品aⅴ| 99精品偷自拍| 91女厕偷拍女厕偷拍高清| 成人性生交大合| 国产超碰在线一区| 国产一区二区导航在线播放| 久久精品国产久精国产爱| 麻豆精品久久精品色综合| 青青青爽久久午夜综合久久午夜| 午夜不卡av免费| 亚洲h在线观看| 日韩av高清在线观看| 人妖欧美一区二区| 爽爽淫人综合网网站 | 六月丁香综合在线视频| 日韩高清不卡在线| 久久国产综合精品| 国内精品在线播放| 国产高清成人在线| 国产v日产∨综合v精品视频| 成人精品视频一区二区三区| 97se亚洲国产综合自在线不卡| 91亚洲男人天堂| 欧美日韩一区二区不卡| 欧美日韩日本视频| 日韩视频免费观看高清完整版在线观看| 91精品久久久久久久99蜜桃| 久久夜色精品国产欧美乱极品| 久久美女艺术照精彩视频福利播放| 久久久久久久性| 最新不卡av在线| 亚洲成人黄色影院| 3atv一区二区三区| 精品国产一区久久| 国产精品女主播av| 亚洲精品视频在线观看免费| 性做久久久久久| 国产在线精品一区在线观看麻豆| 国产高清在线精品| 在线观看网站黄不卡| 欧美v日韩v国产v| 亚洲视频在线一区| 日韩精品1区2区3区| 国产成人精品免费一区二区| 欧洲精品在线观看| 日韩欧美视频在线| ...xxx性欧美| 日韩综合一区二区| 成人免费毛片高清视频| 欧美理论片在线| 欧美激情中文不卡| 亚洲成人1区2区| 丁香一区二区三区| 欧美日韩精品一区二区三区 | 欧美日韩精品免费| 国产日韩欧美亚洲| 午夜成人在线视频| 波波电影院一区二区三区| 欧美卡1卡2卡| 亚洲天堂网中文字| 国产麻豆日韩欧美久久| 欧美日韩不卡在线| 亚洲丝袜另类动漫二区| 久久精品国产精品青草| 欧美三级乱人伦电影| 国产精品白丝在线| 国产在线日韩欧美| 69久久99精品久久久久婷婷| 椎名由奈av一区二区三区| 国内精品免费**视频| 欧美日韩一级视频| 亚洲色图制服诱惑| 福利一区在线观看| 337p日本欧洲亚洲大胆精品| 五月婷婷久久丁香| 欧美色手机在线观看| 综合自拍亚洲综合图不卡区| 国产91精品免费| 精品国产青草久久久久福利| 亚洲一区二区三区视频在线播放| 成人av在线观| 中文字幕精品三区| 福利一区二区在线| 国产亚洲欧美日韩俺去了| 六月丁香综合在线视频| 日韩一区二区在线免费观看| 天天操天天色综合| 欧美色倩网站大全免费| 亚洲综合丁香婷婷六月香| 99国产一区二区三精品乱码| 中文字幕在线一区| 成人精品视频一区| 国产成人精品免费看| 久久欧美一区二区| 国产在线不卡视频| 久久亚洲影视婷婷| 国产精品一品二品| 久久蜜桃av一区精品变态类天堂| 韩国成人在线视频| 久久久久久久久97黄色工厂| 国产精品18久久久久久久久久久久 | 欧美视频一区二区| 亚洲国产一二三| 欧美日韩和欧美的一区二区| 五月天激情综合网| 7777精品伊人久久久大香线蕉完整版 | 成人黄色片在线观看| 中文字幕一区三区| 91美女在线观看| 亚洲国产成人高清精品| 欧美亚洲一区二区三区四区| 天天av天天翘天天综合网| 欧美精品自拍偷拍| 老司机午夜精品| 国产午夜亚洲精品羞羞网站| 成人一区二区视频| 亚洲人成伊人成综合网小说| 欧美色图激情小说| 精品一区二区三区在线视频| 国产午夜精品福利| 91视视频在线直接观看在线看网页在线看| 亚洲欧洲日韩一区二区三区| 色婷婷av一区二区三区gif| 亚洲大片免费看| 精品免费视频.| 菠萝蜜视频在线观看一区| 亚洲精品视频在线观看免费| 91精品国产美女浴室洗澡无遮挡| 国产又粗又猛又爽又黄91精品| 成人免费毛片aaaaa**| 亚洲免费看黄网站| 日韩一区二区三区在线观看 | 国产综合成人久久大片91| 中文字幕亚洲视频|