en:docs:win16:modules:kernel

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 06:23 · prokushev

Note minimal checked windows version is 1.03

Ordinal Name Description Status Version ECMA-234
Real Std Enh
000 KERNEL
001 FATALEXIT Display the current state of Windows and prompts for instructions on how to proceed 1.03 Yes
003 GETVERSION Return the current version of Windows 1.03 Yes
004 LOCALINIT Yes
005 LOCALALLOC Allocate wBytes bytes of memory from the local heap 1.03 Yes
006 LOCALREALLOC Reallocate the local memory block 1.03 Yes
007 LOCALFREE Free the local memory block 1.03 Yes
008 LOCALLOCK Lock the local memory block 1.03 Yes
009 LOCALUNLOCK Unlock the local memory block 1.03 Yes
00a LOCALSIZE Retrieve the current size, in bytes, of the local memory block 1.03 Yes
00b LOCALHANDLE Yes
00c LOCALFLAGS Return information about the specified local memory block 1.03 Yes
00d LOCALCOMPACT Generate free bytes of memory by compacting, if necessary, the module's local heap 1.03 Yes
00e LOCALNOTIFY
00f GLOBALALLOC Allocate memory from the global heap 1.03 Yes
010 GLOBALREALLOC Reallocate the global memory block 1.03 Yes
011 GLOBALFREE Free the global memory block 1.03 Yes
012 GLOBALLOCK Retrieve the absolute memory address of the global memory block 1.03 Yes
013 GLOBALUNLOCK Unlock the global memory block 1.03 Yes
014 GLOBALSIZE Retrieve the current size, in bytes, of the global memory block 1.03 Yes
015 GLOBALHANDLE Yes
016 GLOBALFLAGS Return information1 about the specified global memory block 1.03 Yes
017 LOCKSEGMENT
018 UNLOCKSEGMENT
019 GLOBALCOMPACT Generate free bytes of global memory by compacting, if necessary, the system's global heap 1.03 Yes
01d YIELD halts the current task and starts any waiting task 1.03 Yes
01e WAITEVENT
024 GETCURRENTTASK Return the handle of the currently executing task 1.03 Yes
025 GETCURRENTPDB
02d LOADMODULE Yes
02e FREEMODULE Yes
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 Retrieve the value of an integer key from the the Windows initialization file 1.03
03a GETPROFILESTRING Copy a character string from the user profile into the buffer 1.03
03b WRITEPROFILESTRING Copy the character string into the Windows initialization file 1.03
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 Initialize an atom hash table and set its size 1.03
045 FINDATOM Search the atom table for the character string 1.03
046 ADDATOM Add the character string to the atom table 1.03
047 DELETEATOM Delete an atom 1.03
048 GETATOMNAME Retrieve a copy of the character string associated with atom 1.03
049 GETATOMHANDLE
04a OPENFILE Create, open, reopen, or delete a file 1.03
04d AnsiNext Move to the next character in a string 1.03
04e AnsiPrev Move to the previous character in a string 1.03
04f AnsiUpper Convert a string or a character to upper case 1.03
050 AnsiLower Convert the given string to lower case 1.03
051 _LCLOSE
052 _LREAD
053 _LCREAT
054 _LLSEEK
055 _LOPEN
056 _LWRITE
057 lstrcmp
058 LSTRCPY
059 LSTRCAT
05a LSTRLEN
05b INITTASK
05c GETTEMPDRIVE Return a letter specifying the optimal drive for a temporary file 1.03
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 Create a temporary filename 1.03
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 AnsiToOem 1.03 OemToAnsi 1.03 MAKEINTATOM 1.03 (Macro?)

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

String Translation: AnsiUpper AnsiLower AnsiNext AnsiPrev

Atom Manager: InitAtomTable AddAtom DeleteAtom FindAtom GetAtomName

Windows Initialization File: GetProfilelnt GetProfileString WriteProfileString

Debugging: FatalExit

File I/O: OpenFile GetTempFileName GetTempDrive


en/docs/win16/modules/kernel.txt · Last modified: 2021/09/24 06:50 by prokushev