en:docs:win16:modules:kernel

This is an old revision of the document!


This is part of Win16 API which allow to create versions of program from one source code to run under OS/2 and Win16. Under OS/2 program can be running under Win-OS/2 if program is Windows NE executable, and with help on Windows Libraries for OS/2, if it is OS/2 NE executable. Here is a WLO to OS/2 API mapping draft

2021/09/01 04:23 · prokushev · 0 Comments

Note minimal checked windows version is 1.03

Ordinal Name Description Status Version
Real Std Enh
000 KERNEL
001 FATALEXIT
003 GETVERSION Return the current version of Windows 1.03
004 LOCALINIT
005 LOCALALLOC Allocate wBytes bytes of memory from the local heap 1.03
006 LOCALREALLOC Reallocate the local memory block 1.03
007 LOCALFREE Free the local memory block 1.03
008 LOCALLOCK Lock the local memory block 1.03
009 LOCALUNLOCK Unlock the local memory block 1.03
00a LOCALSIZE Retrieve the current size, in bytes, of the local memory block 1.03
00b LOCALHANDLE
00c LOCALFLAGS Return information about the specified local memory block 1.03
00d LOCALCOMPACT Generate free bytes of memory by compacting, if necessary, the module's local heap 1.03
00e LOCALNOTIFY
00f GLOBALALLOC Allocate memory from the global heap 1.03
010 GLOBALREALLOC Reallocate the global memory block 1.03
011 GLOBALFREE Free the global memory block 1.03
012 GLOBALLOCK Retrieve the absolute memory address of the global memory block 1.03
013 GLOBALUNLOCK Unlock the global memory block 1.03
014 GLOBALSIZE Retrieve the current size, in bytes, of the global memory block 1.03
015 GLOBALHANDLE
016 GLOBALFLAGS Return information1 about the specified global memory block 1.03
017 LOCKSEGMENT
018 UNLOCKSEGMENT
019 GLOBALCOMPACT Generate free bytes of global memory by compacting, if necessary, the system's global heap 1.03
01d YIELD halts the current task and starts any waiting task 1.03
01e WAITEVENT
024 GETCURRENTTASK Return the handle of the currently executing task 1.03
025 GETCURRENTPDB
02d LOADMODULE
02e FREEMODULE
02f GETMODULEHANDLE Retrieve the module handle of the specified module 1.03
030 GETMODULEUSAGE Return the reference count of a given module 1.03
031 GETMODULEFILENAME Retrieve the name of the executable file from which the specified module was loaded 1.03
032 GETPROCADDRESS Retrieve the memory address of the function whose name 1.03
033 MAKEPROCINSTANCE Bind the data segment of the module instance specified to the function pointed 1.03
034 FREEPROCINSTANCE Frees the function specified from the data segment 1.03
036 GETINSTANCEDATA Copy data from a previous instance of an application into the data area of the current instance 1.03
037 CATCH Catch the current execution environment and copy it the the buffer 1.03
038 THROW Restore the execution environment to the values saved in the buffer 1.03
039 GETPROFILEINT
03a GETPROFILESTRING
03b WRITEPROFILESTRING
03c FINDRESOURCE Determine the location of a resource in the specified resource file 1.03
03d LOADRESOURCE Load a resource from the executable file associated with the module 1.03
03e LOCKRESOURCE Retrieve the absolute memory address of the loaded resource 1.03
03f FREERESOURCE Remove a loaded resource from memory by freeing the allocated memory occupied by that resource 1.03
040 ACCESSRESOURCE Open the specified resource file and moves the file pointer to the beginning of the specified resource 1.03
041 SIZEOFRESOURCE Supply the size in bytes of the specified resource 1.03
042 ALLOCRESOURCE Allocate uninitialized memory for the passed resource 1.03
043 SETRESOURCEHANDLER Set up a function to load resources 1.03
044 INITATOMTABLE
045 FINDATOM
046 ADDATOM
047 DELETEATOM
048 GETATOMNAME
049 GETATOMHANDLE
04a OPENFILE
04d AnsiNext
04e AnsiPrev
04f AnsiUpper
050 AnsiLower
051 _LCLOSE
052 _LREAD
053 _LCREAT
054 _LLSEEK
055 _LOPEN
056 _LWRITE
057 lstrcmp
058 LSTRCPY
059 LSTRCAT
05a LSTRLEN
05b INITTASK
05c GETTEMPDRIVE
05d GETCODEHANDLE Return the handle of the code segment containing the function pointed 1.03
05e DEFINEHANDLETABLE
05f LOADLIBRARY Load the library module contained in the specified file and returns a handle to the loaded module 1.03
060 FREELIBRARY Free memory occuped by library when module reference count equal to zero 1.03
061 GETTEMPFILENAME
064 VALIDATECODESEGMENTS
066 DOS3CALL
067 NETBIOSCALL
068 GETCODEINFO
06a SETSWAPAREASIZE
06b SETERRORMODE
06c SWITCHSTACKTO
06d SWITCHSTACKBACK
06f GLOBALWIRE
070 GLOBALUNWIRE
073 OUTPUTDEBUGSTRING
079 LOCALSHRINK
07f GETPRIVATEPROFILEINT
080 GETPRIVATEPROFILESTRING
081 WRITEPRIVATEPROFILESTRING
082 FILECDR
083 GETDOSENVIRONMENT
084 GETWINFLAGS
086 GETWINDOWSDIRECTORY
087 GETSYSTEMDIRECTORY
088 GETDRIVETYPE
089 FATALAPPEXIT
08a GETHEAPSPACES
096 DIRECTEDYIELD
098 GETNUMTASKS
09a GLOBALNOTIFY
09c LIMITEMSPAGES
0a3 GLOBALLRUOLDEST
0a4 GLOBALLRUNEWEST
0a6 WINEXEC
0a9 GETFREESPACE
0aa ALLOCCSTODSALIAS
0ab ALLOCDSTOCSALIAS
0af ALLOCSELECTOR
0b0 FREESELECTOR
0b1 PRESTOCHANGOSELECTOR
0b8 GLOBALDOSALLOC
0b9 GLOBALDOSFREE
0ba GETSELECTORBASE
0bb SETSELECTORBASE
0bc GETSELECTORLIMIT
0bd SETSELECTORLIMIT
0bf GLOBALPAGELOCK
0c0 GLOBALPAGEUNLOCK
0c4 SELECTORACCESSRIGHTS
0c5 GLOBALFIX
0c6 GLOBALUNFIX
0c7 SETHANDLECOUNT
0c8 VALIDATEFREESPACES
0cb DEBUGBREAK
0cc SWAPRECORDING
0ce ALLOCSELECTORARRAY
0cf ISDBCSLEADBYTE
136 LOCALHANDLEDELTA Set the number of handle table entries to be allocated when the local heap manager runs out of handle table 1.03
140 ISTASK
143 ISROMMODULE
144 LOGERROR
145 LOGPARAMERROR
146 ISROMFILE
14e ISBADREADPTR
14f ISBADWRITEPTR
150 ISBADCODEPTR
151 ISBADSTRINGPTR
15b ISBADHUGEWRITEPTR
15c HMEMCPY
15d _HREAD
15e _HWRITE
161 LSTRCPYN
162 GETAPPCOMPATFLAGS
163 GETWINDEBUGINFO
164 SETWINDEBUGINFO

Not found in exports (check other module later): GlobalDiscard 1.03 LocalDiscard 1.03 LocalFreeze 1.03 LocalMelt 1.03 LockData 1.03 UnLockData 1.03 SetPriority 1.03 AddFontResource 1.03 RemoveFontResource 1.03 LoadBitmap 1.03 LoadCursor 1.03 LoadIcon 1.03 LoadMenu 1.03 LoadString 1.03 LoadAccelerators 1.03

Module manager: GETVERSION GETMODULEHANDLE GETMODULEUSAGE GETMODULEFILENAME GETPROCADDRESS MAKEPROCINSTANCE FREEPROCINSTANCE GETINSTANCEDATA CATCH THROW GETCODEHANDLE LOADLIBRARY FREELIBRARY

Memory Manager: GlobalAlloc GlobalCompact GlobalDiscard GlobalFree GlobalLock GlobalReAlloc GlobalSize GlobalUnlock GlobalFlags LocalAlloc LocalCompact LocalDiscard LocalFree LocalLock LocalFreeze LocalMelt LocalReAlloc LocalSize LocalUnlock LocalHandleDelta LockData UnlockData LocalFlags

Task Scheduler: GetCurrentTask Yield SetPriority

Resource Manager: AddFontResource RemoveFontResource LoadBitmap LoadCursor LoadIcon LoadMenu LoadString LoadAccelerators FindResource LoadResource AllocResource LockResource FreeResource AccessResource SizeofResource SetResourceHandler