mirror of https://github.com/lianthony/NT4.0
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
472 lines
16 KiB
472 lines
16 KiB
LIBRARY KERNEL
|
|
|
|
DESCRIPTION 'Microsoft Windows Kernel Interface Version 3.10'
|
|
EXETYPE WINDOWS
|
|
PROTMODE
|
|
STUB 'KERNSTUB.EXE'
|
|
|
|
CODE PRELOAD MOVEABLE DISCARDABLE
|
|
DATA SINGLE
|
|
|
|
SEGMENTS
|
|
_TEXT CLASS 'CODE' PRELOAD FIXED
|
|
_STRS CLASS 'CODE' PRELOAD FIXED
|
|
_GPFIX0 CLASS 'CODE' PRELOAD FIXED
|
|
_GPFIX CLASS 'CODE' PRELOAD FIXED
|
|
_GPFIX1 CLASS 'CODE' PRELOAD FIXED
|
|
_EMS CLASS 'CODE' PRELOAD FIXED
|
|
_INITTEXT CLASS 'CODE' PRELOAD FIXED
|
|
_DATA CLASS 'DATA' PRELOAD FIXED
|
|
_EMSDATA CLASS 'DATA' PRELOAD FIXED
|
|
_INITDATA CLASS 'DATA' PRELOAD FIXED
|
|
STACK CLASS 'DATA' PRELOAD FIXED
|
|
_PADDATA CLASS 'DATA' PRELOAD FIXED
|
|
_NRESTEXT CLASS 'CODE' PRELOAD MOVEABLE DISCARDABLE
|
|
_MISCTEXT CLASS 'CODE' PRELOAD MOVEABLE DISCARDABLE
|
|
|
|
HEAPSIZE 512 ; This used to be the initial size of the
|
|
; global handle table.
|
|
|
|
EXPORTS
|
|
|
|
; General procedures
|
|
|
|
FATALEXIT @ 1
|
|
EXITKERNEL @ 2 NODATA ;Internal
|
|
GETVERSION @ 3 NODATA
|
|
|
|
; Local memory manager procedures
|
|
|
|
LOCALINIT @ 4 NODATA
|
|
LOCALALLOC @ 5 NODATA
|
|
LOCALREALLOC @ 6 NODATA
|
|
LOCALFREE @ 7 NODATA
|
|
LOCALLOCK @ 8 NODATA
|
|
LOCALUNLOCK @ 9 NODATA
|
|
LOCALSIZE @ 10 NODATA
|
|
LOCALHANDLE @ 11 NODATA
|
|
LOCALFLAGS @ 12 NODATA
|
|
LOCALCOMPACT @ 13 NODATA
|
|
LOCALNOTIFY @ 14 NODATA ;Internal
|
|
|
|
; Global memory manager procedures
|
|
|
|
GLOBALALLOC @ 15 NODATA
|
|
GLOBALREALLOC @ 16 NODATA
|
|
GLOBALFREE @ 17 NODATA
|
|
GLOBALLOCK @ 18 NODATA
|
|
GLOBALUNLOCK @ 19 NODATA
|
|
GLOBALSIZE @ 20 NODATA
|
|
GLOBALHANDLE @ 21 NODATA
|
|
GLOBALFLAGS @ 22 NODATA
|
|
LOCKSEGMENT @ 23 NODATA
|
|
UNLOCKSEGMENT @ 24 NODATA
|
|
GLOBALCOMPACT @ 25 NODATA
|
|
GLOBALFREEALL @ 26 NODATA ;Internal
|
|
; SETSWAPHOOK @ 27 NODATA
|
|
GLOBALMASTERHANDLE @ 28 NODATA ;Internal
|
|
|
|
; Multitasking procedures
|
|
|
|
YIELD @ 29 NODATA
|
|
WAITEVENT @ 30 NODATA
|
|
POSTEVENT @ 31 NODATA ;Internal
|
|
SETPRIORITY @ 32 NODATA ;Internal
|
|
LOCKCURRENTTASK @ 33 NODATA ;Internal
|
|
SETTASKQUEUE @ 34 NODATA ;Internal
|
|
GETTASKQUEUE @ 35 NODATA ;Internal
|
|
GETCURRENTTASK @ 36 NODATA
|
|
GETCURRENTPDB @ 37 NODATA
|
|
SETTASKSIGNALPROC @ 38 NODATA ;Internal
|
|
; SETTASKSWITCHPROC @ 39 NODATA
|
|
; SETTASKINTERCHANGE @ 40 NODATA
|
|
ENABLEDOS @ 41 NODATA ;Internal
|
|
DISABLEDOS @ 42 NODATA ;Internal
|
|
; ISSCREENGRAB @ 43 NODATA
|
|
; BUILDPDB @ 44 NODATA
|
|
|
|
; Dynamic loader
|
|
|
|
LOADMODULE @ 45 NODATA
|
|
FREEMODULE @ 46 NODATA
|
|
GETMODULEHANDLE @ 47 NODATA
|
|
GETMODULEUSAGE @ 48 NODATA
|
|
GETMODULEFILENAME @ 49 NODATA
|
|
GETPROCADDRESS @ 50 NODATA
|
|
MAKEPROCINSTANCE @ 51 NODATA
|
|
FREEPROCINSTANCE @ 52 NODATA
|
|
CALLPROCINSTANCE @ 53 NODATA ;Internal
|
|
GETINSTANCEDATA @ 54 NODATA
|
|
CATCH @ 55 NODATA
|
|
THROW @ 56 NODATA
|
|
|
|
; WIN.INI interface procedures
|
|
|
|
GETPROFILEINT @ 57
|
|
GETPROFILESTRING @ 58
|
|
WRITEPROFILESTRING @ 59
|
|
|
|
; Resource manager procedures
|
|
|
|
FINDRESOURCE @ 60 NODATA
|
|
LOADRESOURCE @ 61 NODATA
|
|
LOCKRESOURCE @ 62 NODATA
|
|
FREERESOURCE @ 63 NODATA
|
|
ACCESSRESOURCE @ 64 NODATA
|
|
SIZEOFRESOURCE @ 65 NODATA
|
|
ALLOCRESOURCE @ 66 NODATA
|
|
SETRESOURCEHANDLER @ 67 NODATA
|
|
|
|
; Atom manager procedures
|
|
|
|
INITATOMTABLE @ 68 NODATA
|
|
FINDATOM @ 69 NODATA
|
|
ADDATOM @ 70 NODATA
|
|
DELETEATOM @ 71 NODATA
|
|
GETATOMNAME @ 72 NODATA
|
|
GETATOMHANDLE @ 73 NODATA
|
|
|
|
; File name procedures
|
|
|
|
OPENFILE @ 74 NODATA
|
|
OPENPATHNAME @ 75 NODATA ;Internal
|
|
DELETEPATHNAME @ 76 NODATA ;Internal
|
|
|
|
; ANSI character set procedures
|
|
; The following 4 functions are now in USER. The ordinal numbers are
|
|
; preserved for compatability with 2.X apps
|
|
|
|
RESERVED1 = ANSINEXT @ 77 NODATA
|
|
RESERVED2 = ANSIPREV @ 78 NODATA
|
|
RESERVED3 = ANSIUPPER @ 79 NODATA
|
|
RESERVED4 = ANSILOWER @ 80 NODATA
|
|
|
|
; Internally used file I/O procedures
|
|
|
|
_LCLOSE @ 81 NODATA
|
|
_LREAD @ 82 NODATA
|
|
_LCREAT @ 83 NODATA
|
|
_LLSEEK @ 84 NODATA
|
|
_LOPEN @ 85 NODATA
|
|
_LWRITE @ 86 NODATA
|
|
|
|
; Internally used string procedures that take far pointers
|
|
; The following LSTRORIGINAL function is the old 2.X lstrcmp()
|
|
; The ordinal number is preserved for compatability with 2.X apps
|
|
; All 3.X apps will use the lstrcmp() and lstrcmpi() of USER.
|
|
|
|
RESERVED5 = LSTRORIGINAL @ 87 NODATA
|
|
LSTRCPY @ 88 NODATA
|
|
LSTRCAT @ 89 NODATA
|
|
LSTRLEN @ 90 NODATA
|
|
|
|
; Stuff added after last release
|
|
|
|
INITTASK @ 91 NODATA
|
|
GETTEMPDRIVE @ 92 NODATA
|
|
GETCODEHANDLE @ 93 NODATA
|
|
DEFINEHANDLETABLE @ 94 NODATA
|
|
LOADLIBRARY @ 95 NODATA
|
|
FREELIBRARY @ 96 NODATA
|
|
GETTEMPFILENAME @ 97 NODATA
|
|
GETLASTDISKCHANGE @ 98 NODATA ;Internal
|
|
GETLPERRMODE @ 99 NODATA ;Internal
|
|
VALIDATECODESEGMENTS @100 NODATA
|
|
|
|
; Stuff added for 1.02 release
|
|
|
|
NOHOOKDOSCALL @101 NODATA ;Internal
|
|
|
|
; Stuff added for 1.03 release
|
|
|
|
DOS3CALL @102 NODATA
|
|
NETBIOSCALL @103 NODATA
|
|
|
|
; Stuff added for 2.00 release
|
|
|
|
GETCODEINFO @104 NODATA
|
|
GETEXEVERSION @105 NODATA ;Internal
|
|
SETSWAPAREASIZE @106 NODATA
|
|
SETERRORMODE @107 NODATA
|
|
SWITCHSTACKTO @108 NODATA
|
|
SWITCHSTACKBACK @109 NODATA
|
|
PATCHCODEHANDLE @110 NODATA
|
|
GLOBALWIRE @111 NODATA
|
|
GLOBALUNWIRE @112 NODATA
|
|
__AHSHIFT @113 NODATA
|
|
__AHINCR @114 NODATA
|
|
OUTPUTDEBUGSTRING @115 NODATA
|
|
INITLIB @116 NODATA ;Internal
|
|
OLDYIELD @117 NODATA ;Internal
|
|
GETTASKQUEUEDS @118 NODATA ;Internal
|
|
GETTASKQUEUEES @119 NODATA ;Internal
|
|
UNDEFDYNLINK @120 NODATA ;Internal
|
|
LOCALSHRINK @121 NODATA
|
|
ISTASKLOCKED @122 NODATA ;Internal
|
|
KBDRST @123 NODATA ;Internal
|
|
|
|
; Stuff added for REO SpeedWagon
|
|
|
|
ENABLEKERNEL @124 NODATA ;Internal
|
|
DISABLEKERNEL @125 NODATA ;Internal
|
|
|
|
; Stuff added for 2.03c release.
|
|
|
|
MEMORYFREED @126 NODATA ;Internal
|
|
|
|
; New 3.0 Goodies
|
|
|
|
GETPRIVATEPROFILEINT @127
|
|
GETPRIVATEPROFILESTRING @128
|
|
WRITEPRIVATEPROFILESTRING @129
|
|
FILECDR @130 NODATA ;Internal
|
|
GETDOSENVIRONMENT @131 NODATA
|
|
GETWINFLAGS @132 NODATA
|
|
GETEXEPTR @133 NODATA ;Internal
|
|
GETWINDOWSDIRECTORY @134 NODATA
|
|
GETSYSTEMDIRECTORY @135 NODATA
|
|
GETDRIVETYPE @136 NODATA
|
|
FATALAPPEXIT @137 NODATA
|
|
GETHEAPSPACES @138 NODATA ;Internal
|
|
DOSIGNAL @139 NODATA ;Internal
|
|
SETSIGHANDLER @140 NODATA ;Internal
|
|
INITTASK1 @141 NODATA ;Internal
|
|
|
|
; From Win95:
|
|
|
|
GETVERSIONEX @149 NODATA
|
|
|
|
; Stuff below was in 2.03
|
|
|
|
DIRECTEDYIELD @150 NODATA
|
|
; WINOLDAPCALL @151 NODATA ;Removed by davehart -- WOW doesn't use
|
|
GETNUMTASKS @152 NODATA
|
|
; DISCARDCODESEGMENT @153 NODATA
|
|
GLOBALNOTIFY @154 NODATA
|
|
GETTASKDS @155 NODATA ;Internal
|
|
LIMITEMSPAGES @156 NODATA
|
|
GETCURPID @157 NODATA ;Internal
|
|
ISWINOLDAPTASK @158 NODATA ;Internal
|
|
GLOBALHANDLENORIP @159 NODATA ;Internal
|
|
EMSCOPY @160 NODATA ;Internal
|
|
LOCALCOUNTFREE @161 NODATA ;Internal
|
|
LOCALHEAPSIZE @162 NODATA ;Internal
|
|
GLOBALLRUOLDEST @163 NODATA
|
|
GLOBALLRUNEWEST @164 NODATA
|
|
A20PROC @165 NODATA ;Internal
|
|
|
|
WINEXEC @166 NODATA
|
|
GETEXPWINVER @167 NODATA ;Internal
|
|
DIRECTRESALLOC @168 NODATA ;Internal
|
|
GETFREESPACE @169 NODATA
|
|
|
|
; Protect Mode stuff
|
|
|
|
ALLOCCSTODSALIAS @170 NODATA
|
|
ALLOCDSTOCSALIAS @171 NODATA
|
|
ALLOCALIAS @172 NODATA
|
|
__ROMBIOS @173 NODATA
|
|
__A000h @174 NODATA
|
|
ALLOCSELECTOR @175 NODATA
|
|
FREESELECTOR @176 NODATA
|
|
PRESTOCHANGOSELECTOR @177 NODATA
|
|
__WINFLAGS @178 NODATA
|
|
__D000h @179 NODATA
|
|
LONGPTRADD @180 NODATA
|
|
__B000h @181 NODATA
|
|
__B800h @182 NODATA
|
|
__0000h @183 NODATA
|
|
GLOBALDOSALLOC @184 NODATA
|
|
GLOBALDOSFREE @185 NODATA
|
|
GETSELECTORBASE @186 NODATA
|
|
SETSELECTORBASE @187 NODATA
|
|
GETSELECTORLIMIT @188 NODATA
|
|
SETSELECTORLIMIT @189 NODATA
|
|
__E000h @190 NODATA
|
|
GLOBALPAGELOCK @191 NODATA
|
|
GLOBALPAGEUNLOCK @192 NODATA
|
|
__0040h @193 NODATA
|
|
__F000h @194 NODATA
|
|
__C000h @195 NODATA
|
|
SELECTORACCESSRIGHTS @196 NODATA
|
|
GLOBALFIX @197 NODATA
|
|
GLOBALUNFIX @198 NODATA
|
|
|
|
SETHANDLECOUNT @199 NODATA
|
|
|
|
; Debugging aids
|
|
|
|
VALIDATEFREESPACES @200 NODATA
|
|
REPLACEINST @201 NODATA ;Internal
|
|
REGISTERPTRACE @202 NODATA ;Internal
|
|
DEBUGBREAK @203 NODATA
|
|
SWAPRECORDING @204 NODATA
|
|
CVWBREAK @205 NODATA
|
|
|
|
ALLOCSELECTORARRAY @206 NODATA ;Internal
|
|
|
|
; DBCS Supporting Stuff
|
|
|
|
ISDBCSLEADBYTE @207 NODATA
|
|
|
|
WOWSHOULDWESAYWIN95 @215 NODATA ;Internal
|
|
|
|
; 32-bit Registry APIs
|
|
REGENUMKEY = REGENUMKEY32 @216 NODATA
|
|
REGOPENKEY = REGOPENKEY32 @217 NODATA
|
|
; REGCREATEKEY = REGCREATEKEY32 @218 NODATA
|
|
; REGDELETEKEY = REGDELETEKEY32 @219 NODATA
|
|
REGCLOSEKEY = REGCLOSEKEY32 @220 NODATA
|
|
; REGSETVALUE = REGSETVALUE32 @221 NODATA
|
|
; REGDELETEVALUE = REGDELETEVALUE32 @222 NODATA
|
|
REGENUMVALUE = REGENUMVALUE32 @223 NODATA
|
|
; REGQUERYVALUE = REGQUERYVALUE32 @224 NODATA
|
|
; REGQUERYVALUEEX = REGQUERYVALUEEX32 @225 NODATA
|
|
; REGSETVALUEEX = REGSETVALUEEX32 @226 NODATA
|
|
; REGFLUSHKEY = REGFLUSHKEY32 @227 NODATA
|
|
|
|
;;;;; JAPANESE VERSION ONLY
|
|
;;;;; GETINTERNALVERSION NODATA ;Internal
|
|
|
|
; all you wanted to know about these ROMRESERVEDs but were afraid to ask:
|
|
; these act like ifdef ROM
|
|
; rom.def is produced by passing kernel.def thru SED.
|
|
|
|
; ROM Windows Uncompression routine
|
|
;ROM_RESERVED LZDECODE @286 NODATA ;Internal
|
|
|
|
; New stuff for 3.1
|
|
|
|
LOCALHANDLEDELTA @310 NODATA
|
|
GETSETKERNELDOSPROC @311 NODATA ;Internal
|
|
; FARVALIDATEPOINTER @312 NODATA ;Internal removed davidds
|
|
; GETLASTCRITICALERROR @313 NODATA ; removed EarleH
|
|
DEBUGDEFINESEGMENT @314 NODATA ;Internal
|
|
WRITEOUTPROFILES @315 ;Internal
|
|
GETFREEMEMINFO @316 NODATA
|
|
FATALEXITHOOK @318 NODATA ;Internal
|
|
FLUSHCACHEDFILEHANDLE @319 NODATA ;Internal
|
|
ISTASK @320 NODATA
|
|
; RESERVED @321 NODATA
|
|
ISROMMODULE @323 NODATA ;Internal
|
|
LOGERROR @324
|
|
LOGPARAMERROR @325
|
|
ISROMFILE @326 NODATA ;Internal
|
|
K327=HANDLEPARAMERROR @327 NODATA ;Internal
|
|
_DebugOutput @328 NODATA ;Internal
|
|
K329=DEBUGFILLBUFFER @329 NODATA ;Internal
|
|
|
|
THHOOK @332 NODATA ;Internal
|
|
;OPENSYSTEMFILE @333 NODATA ;Removed 3-Oct-91 by JonT
|
|
|
|
; Pointer validation routines (donc)
|
|
ISBADREADPTR @334 NODATA
|
|
ISBADWRITEPTR @335 NODATA
|
|
ISBADCODEPTR @336 NODATA
|
|
ISBADSTRINGPTR @337 NODATA
|
|
HASGPHANDLER @338 NODATA ;Internal
|
|
|
|
; Diagnostic mode exports
|
|
DIAGQUERY @339 NODATA
|
|
DIAGOUTPUT @340 NODATA
|
|
|
|
TOOLHELPHOOK @341 NODATA ;Internal
|
|
; GP handler table
|
|
__GP @342 RESIDENTNAME ;Internal
|
|
|
|
; Winoldap hooks
|
|
REGISTERWINOLDAPHOOK @343 NODATA
|
|
GETWINOLDAPHOOKS @344 NODATA
|
|
|
|
ISSHAREDSELECTOR @345 NODATA ;Internal
|
|
|
|
; More pointer validation and huge routines (donc)
|
|
ISBADHUGEREADPTR @346 NODATA
|
|
ISBADHUGEWRITEPTR @347 NODATA
|
|
HMEMCPY @348 NODATA
|
|
_HREAD @349 NODATA
|
|
_HWRITE @350 NODATA
|
|
|
|
; USER's private exit notify callback.
|
|
|
|
BUNNY_351 @351 NODATA ;Internal
|
|
|
|
LSTRCPYN @353 NODATA
|
|
|
|
GETAPPCOMPATFLAGS @354 NODATA ;Internal
|
|
|
|
GETWINDEBUGINFO @355
|
|
SETWINDEBUGINFO @356
|
|
|
|
K403 = FARSETOWNER @403 NODATA ;Internal Win32S support
|
|
K404 = FARGETOWNER @404 NODATA ;Internal Win32S support
|
|
|
|
;
|
|
; ADD NEW EXPORTS HERE SO YOU DON'T BREAK ROM WINDOWS
|
|
;
|
|
|
|
; WOW Stuff for NT
|
|
|
|
WOW16CALL @500 NODATA ;Internal
|
|
KDDBGOUT @501 NODATA ;Internal
|
|
WOWGETNEXTVDMCOMMAND @502 NODATA ;Internal
|
|
WOWREGISTERSHELLWINDOWHANDLE @503 NODATA ;Internal
|
|
WOWLOADMODULE @504 NODATA ;Internal
|
|
WOWQUERYPERFORMANCECOUNTER @505 NODATA ;Internal
|
|
|
|
; in wowkrn.h there is a struct of k506. so not using ordinal 506.
|
|
|
|
WOWCURSORICONOP @507 NODATA ;Internal
|
|
WOWFAILEDEXEC @508 NODATA ;Internal
|
|
WOWCLOSECOMPORT @509 NODATA ;Internal
|
|
|
|
WOWKILLREMOTETASK @511 NODATA ;Internal
|
|
WOWQUERYDEBUG @512 NODATA ;Internal
|
|
|
|
; Generic Thunk Interface
|
|
|
|
LOADLIBRARYEX32W @513 NODATA
|
|
FREELIBRARY32W @514 NODATA
|
|
GETPROCADDRESS32W @515 NODATA
|
|
GETVDMPOINTER32W @516 NODATA
|
|
CALLPROC32W @517 NODATA
|
|
_CallProcEx32W @518 NODATA
|
|
EXITKERNELTHUNK @519 NODATA
|
|
|
|
__MOD_KERNEL @520 NODATA
|
|
__MOD_DKERNEL @521 NODATA
|
|
__MOD_USER @522 NODATA
|
|
__MOD_DUSER @523 NODATA
|
|
__MOD_GDI @524 NODATA
|
|
__MOD_DGDI @525 NODATA
|
|
__MOD_KEYBOARD @526 NODATA
|
|
__MOD_SOUND @527 NODATA
|
|
__MOD_SHELL @528 NODATA
|
|
__MOD_WINSOCK @529 NODATA
|
|
__MOD_TOOLHELP @530 NODATA
|
|
__MOD_MMEDIA @531 NODATA
|
|
__MOD_COMMDLG @532 NODATA
|
|
|
|
WOWSETEXITONLASTAPP @541 NODATA ;Internal
|
|
WOWWAITFORMSGANDEVENT @262 NODATA ;Internal
|
|
WOWMSGBOX @263 NODATA ;Internal
|
|
K273 = WOWPARTYBYNUMBER @273 NODATA ;Internal
|
|
GetShortPathName @274 NODATA
|
|
|
|
WOWSETCOMPATHANDLE @544 NODATA ;for user thunk
|
|
|
|
|
|
; all you wanted to know about these ROMRESERVEDs but were afraid to ask:
|
|
; these act like ifdef ROM
|
|
; rom.def is produced by passing kernel.def thru SED.
|
|
|
|
;ROM_RESERVED IMPORTS
|
|
|
|
;ROM_RESERVED lmaROMTOC = ROMWIN.1
|
|
;ROM_RESERVED selLDTAlias = ROMWIN.3
|
|
;ROM_RESERVED lmaExtMemROM = ROMWIN.4
|
|
;ROM_RESERVED cbExtMemROM = ROMWIN.5
|
|
|
|
;
|
|
; DON'T ADD EXPORTS HERE BECAUSE THIS IS THE IMPORTS SECTION FOR ROM
|
|
;
|