en:docs:win16:modules:kernel

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
en:docs:win16:modules:kernel [2022/11/20 03:42] prokusheven:docs:win16:modules:kernel [2023/10/14 03:18] (current) prokushev
Line 1: Line 1:
 {{page>en:templates:win16api}} {{page>en:templates:win16api}}
  
-Note minimal checked windows version is 1.03+Windows kernel for 8086 (KERNEL.EXE) doesn't uses DPMI or LDT for memory management. KERNEL.EXE for later versions of Windows emulates selectors functions via segments (like [[en:docs:FAPI]] does), but not so good (mostly functions returns errors). KRNL286.EXE and KRNL386.EXE uses direct LDT manipulations. Kernels for WOW uses DPMI functions. For now, osFree tries to reuse only DPMI (in future it is possible to implement direct LDT manipulation, may be). 
 + 
 +Note minimal checked windows version is 1.03.
  
 ^ Ordinal ^ Name ^ Description ^ Status ^^^ Version ^ ECMA-234 ^ ^ Ordinal ^ Name ^ Description ^ Status ^^^ Version ^ ECMA-234 ^
Line 15: Line 17:
 | 009| [[en:docs:win16:api:kernel:LocalUnlock]] | Unlock the local memory block | | | | 1.03 | Yes | | 009| [[en:docs:win16:api:kernel:LocalUnlock]] | Unlock the local memory block | | | | 1.03 | Yes |
 | 010| [[en:docs:win16:api:kernel:LocalSize]] | Retrieve the current size, in bytes, of the local memory block | | | | 1.03 | Yes | | 010| [[en:docs:win16:api:kernel:LocalSize]] | Retrieve the current size, in bytes, of the local memory block | | | | 1.03 | Yes |
-| 011| [[en:docs:win16:api:kernel:LocalHandle]] | | | | | | Yes |+| 011| [[en:docs:win16:api:kernel:LocalHandle]] | Retrieve the handle associated with the specified pointer to a local memory object | | | | | Yes |
 | 012| [[en:docs:win16:api:kernel:LocalFlags]] | Return information about the specified local memory block | | | | 1.03 | Yes | | 012| [[en:docs:win16:api:kernel:LocalFlags]] | Return information about the specified local memory block | | | | 1.03 | Yes |
 | 013| [[en:docs:win16:api:kernel:LocalCompact]] | Generate free bytes of memory by compacting, if necessary, the module's local heap | | | | 1.03 | Yes | | 013| [[en:docs:win16:api:kernel:LocalCompact]] | Generate free bytes of memory by compacting, if necessary, the module's local heap | | | | 1.03 | Yes |
Line 25: Line 27:
 | 019| [[en:docs:win16:api:kernel:GlobalUnlock]] | Unlock the global memory block | | | | 1.03 | Yes | | 019| [[en:docs:win16:api:kernel:GlobalUnlock]] | Unlock the global memory block | | | | 1.03 | Yes |
 | 020| [[en:docs:win16:api:kernel:GlobalSize]] | Retrieve the current size, in bytes, of the global memory block | | | | 1.03 | Yes | | 020| [[en:docs:win16:api:kernel:GlobalSize]] | Retrieve the current size, in bytes, of the global memory block | | | | 1.03 | Yes |
-| 021| [[en:docs:win16:api:kernel:GlobalHandle]] | | | | | | Yes |+| 021| [[en:docs:win16:api:kernel:GlobalHandle]] | Retrieve handle for given address | | | | | Yes |
 | 022| [[en:docs:win16:api:kernel:GlobalFlags]] | Return information1 about the specified global memory block | | | | 1.03 | Yes | | 022| [[en:docs:win16:api:kernel:GlobalFlags]] | Return information1 about the specified global memory block | | | | 1.03 | Yes |
 | 023| [[en:docs:win16:api:kernel:LockSegment]] | | | | | 023| [[en:docs:win16:api:kernel:LockSegment]] | | | |
Line 31: Line 33:
 | 025| [[en:docs:win16:api:kernel:GlobalCompact]] | Generate free bytes of global memory by compacting, if necessary, the system's global heap | | | | 1.03 | Yes | | 025| [[en:docs:win16:api:kernel:GlobalCompact]] | Generate free bytes of global memory by compacting, if necessary, the system's global heap | | | | 1.03 | Yes |
 | 026| [[en:docs:win16:api:kernel:GlobalFreeAll]] |  | | | | | | | 026| [[en:docs:win16:api:kernel:GlobalFreeAll]] |  | | | | | |
-| 027| [[en:docs:win16:api:kernel|???]] |  | | | | | |+| 027| [[en:docs:win16:api:kernel:GetModuleName]] |  | | | | | |
 | 028| [[en:docs:win16:api:kernel:GlobalMasterHandle]] |  | | | | | | | 028| [[en:docs:win16:api:kernel:GlobalMasterHandle]] |  | | | | | |
 | 029| [[en:docs:win16:api:kernel:Yield]] | halts the current task and starts any waiting task | | | | 1.03 | Yes | | 029| [[en:docs:win16:api:kernel:Yield]] | halts the current task and starts any waiting task | | | | 1.03 | Yes |
Line 43: Line 45:
 | 037| [[en:docs:win16:api:kernel:GetCurrentPDB]] | Return current PDB | | |  | 037| [[en:docs:win16:api:kernel:GetCurrentPDB]] | Return current PDB | | | 
 | 038| [[en:docs:win16:api:kernel:SetTaskSignalProc]] |  | | | | | | | 038| [[en:docs:win16:api:kernel:SetTaskSignalProc]] |  | | | | | |
-| 039| [[en:docs:win16:api:kernel|???]] |  | | | | | | +| 039| [[en:docs:win16:api:kernel:SetTaskSwitchProc]] |  | | | | | | 
-| 040| [[en:docs:win16:api:kernel|???]] |  | | | | | |+| 040| [[en:docs:win16:api:kernel:SetTaskInterchange]] |  | | | | | |
 | 041| [[en:docs:win16:api:kernel:EnableDOS]] |  | | | | | | | 041| [[en:docs:win16:api:kernel:EnableDOS]] |  | | | | | |
 | 042| [[en:docs:win16:api:kernel:DisableDOS]] |  | | | | | | | 042| [[en:docs:win16:api:kernel:DisableDOS]] |  | | | | | |
-| 043| [[en:docs:win16:api:kernel|???]] |  | | | | | | +| 043| [[en:docs:win16:api:kernel:IsScreenGrab]] |  | | | | | | 
-| 044| [[en:docs:win16:api:kernel|???]] |  | | | | | |+| 044| [[en:docs:win16:api:kernel:BuildPDB]] |  | | | | | |
 | 045| [[en:docs:win16:api:kernel:LoadModule]] | Load module | | | | | Yes | | 045| [[en:docs:win16:api:kernel:LoadModule]] | Load module | | | | | Yes |
 | 046| [[en:docs:win16:api:kernel:FreeModule]] | Release module | | | | | Yes | | 046| [[en:docs:win16:api:kernel:FreeModule]] | Release module | | | | | Yes |
 | 047| [[en:docs:win16:api:kernel:GetModuleHandle]] | Retrieve the module handle of the specified module | | | | 1.03 | Yes | | 047| [[en:docs:win16:api:kernel:GetModuleHandle]] | Retrieve the module handle of the specified module | | | | 1.03 | Yes |
 | 048| [[en:docs:win16:api:kernel:GetModuleUsage]] | Return the reference count of a given module | | | | 1.03 | Yes | | 048| [[en:docs:win16:api:kernel:GetModuleUsage]] | Return the reference count of a given module | | | | 1.03 | Yes |
-| 049| [[en:docs:win16:api:kernel:GetModuleName]] | Retrieve the name of the executable file from which the specified module was loaded | | | | 1.03 | Yes |+| 049| [[en:docs:win16:api:kernel:GetModuleFileName]] | Retrieve the name of the executable file from which the specified module was loaded | | | | 1.03 | Yes |
 | 050| [[en:docs:win16:api:kernel:GetProcAddress]] | Retrieve the memory address of the function whose name | | | | 1.03 | Yes | | 050| [[en:docs:win16:api:kernel:GetProcAddress]] | Retrieve the memory address of the function whose name | | | | 1.03 | Yes |
 | 051| [[en:docs:win16:api:kernel:MakeProcInstance]] | Bind the data segment of the module instance specified to the function pointed | | | | 1.03 | Yes | | 051| [[en:docs:win16:api:kernel:MakeProcInstance]] | Bind the data segment of the module instance specified to the function pointed | | | | 1.03 | Yes |
Line 105: Line 107:
 | 099| [[en:docs:win16:api:kernel:GetLpErrMode]] |  | | | | | | | 099| [[en:docs:win16:api:kernel:GetLpErrMode]] |  | | | | | |
 | 100| [[en:docs:win16:api:kernel:ValidateCodeSegments]] | | | | | 100| [[en:docs:win16:api:kernel:ValidateCodeSegments]] | | | |
-| 101| [[en:docs:win16:api:kernel:NoHookDosCall]] |  | | | | | |+| 101| [[en:docs:win16:api:kernel:NoHookDosCall]] | Call DOS INT 21H directly | | | | | |
 | 102| [[en:docs:win16:api:kernel:Dos3Call]] | | | | | 102| [[en:docs:win16:api:kernel:Dos3Call]] | | | |
 | 103| [[en:docs:win16:api:kernel:NetbiosCall]] | | | | | 103| [[en:docs:win16:api:kernel:NetbiosCall]] | | | |
Line 146: Line 148:
 | 140| [[en:docs:win16:api:kernel:SetSigHandler]] |  | | | | | | | 140| [[en:docs:win16:api:kernel:SetSigHandler]] |  | | | | | |
 | 141| [[en:docs:win16:api:kernel:InitTask1]] |  | | | | | | | 141| [[en:docs:win16:api:kernel:InitTask1]] |  | | | | | |
-| 142| [[en:docs:win16:api:kernel|???]] |  | | | | | | +| 142| [[en:docs:win16:api:kernel:GetProfileSectionNames]] |  | | | | | | 
-| 143| [[en:docs:win16:api:kernel|???]] |  | | | | | | +| 143| [[en:docs:win16:api:kernel:GetPrivateProfileSectionNames]] |  | | | | | | 
-| 144| [[en:docs:win16:api:kernel|???]] |  | | | | | | +| 144| [[en:docs:win16:api:kernel:CreateDirectory]] |  | | | | | | 
-| 145| [[en:docs:win16:api:kernel|???]] |  | | | | | | +| 145| [[en:docs:win16:api:kernel:RemoveDirectory]] |  | | | | | | 
-| 146| [[en:docs:win16:api:kernel|???]] |  | | | | | | +| 146| [[en:docs:win16:api:kernel:DeleteFile]] |  | | | | | | 
-| 147| [[en:docs:win16:api:kernel|???]] |  | | | | | | +| 147| [[en:docs:win16:api:kernel:SetLastError]] |  | | | | | | 
-| 148| [[en:docs:win16:api:kernel|???]] |  | | | | | | +| 148| [[en:docs:win16:api:kernel:GetLastError]] |  | | | | | | 
-| 149| [[en:docs:win16:api:kernel|???]] |  | | | | | |+| 149| [[en:docs:win16:api:kernel:GetVersionEx]] |  | | | | | |
 | 150| [[en:docs:win16:api:kernel:DirectedYield]] | | | | | | Yes | | 150| [[en:docs:win16:api:kernel:DirectedYield]] | | | | | | Yes |
 | 151| [[en:docs:win16:api:kernel:WinOldApCall]] |  | | | | | | | 151| [[en:docs:win16:api:kernel:WinOldApCall]] |  | | | | | |
Line 177: Line 179:
 | 171| [[en:docs:win16:api:kernel:AllocDSToCSAlias]] | | | | | 171| [[en:docs:win16:api:kernel:AllocDSToCSAlias]] | | | |
 | 172| [[en:docs:win16:api:kernel:AllocAlias]] |  | | | | | | | 172| [[en:docs:win16:api:kernel:AllocAlias]] |  | | | | | |
-| 173| [[en:docs:win16:api:kernel:__ROMBIOS]] |  | | | | | | +| 173| [[en:docs:win16:api:kernel:__ROMBIOS]] | BIOS selector | | | | | | 
-| 174| [[en:docs:win16:api:kernel:__A000H]] |  | | | | | |+| 174| [[en:docs:win16:api:kernel:__A000H]] | Selector of A000:0000 | | | | | |
 | 175| [[en:docs:win16:api:kernel:AllocSelector]] | | | | | 175| [[en:docs:win16:api:kernel:AllocSelector]] | | | |
 | 176| [[en:docs:win16:api:kernel:FreeSelector]] | | | | | 176| [[en:docs:win16:api:kernel:FreeSelector]] | | | |
 | 177| [[en:docs:win16:api:kernel:PrestoChangoSelector]] | | | | | 177| [[en:docs:win16:api:kernel:PrestoChangoSelector]] | | | |
-| 178| [[en:docs:win16:api:kernel|???]] |  | | | | | | +| 178| [[en:docs:win16:api:kernel:__WINFLAGS]] |  | | | | | | 
-| 179| [[en:docs:win16:api:kernel|???]] |  | | | | | | +| 179| [[en:docs:win16:api:kernel:__D000H]] | Selector of D000:0000 | | | | | | 
-| 180| [[en:docs:win16:api:kernel|???]] |  | | | | | | +| 180| [[en:docs:win16:api:kernel:LongPtrAdd]] |  | | | | | | 
-| 181| [[en:docs:win16:api:kernel|???]] |  | | | | | | +| 181| [[en:docs:win16:api:kernel:__B000H]] | Selector of B000:0000 | | | | | | 
-| 182| [[en:docs:win16:api:kernel|???]] |  | | | | | | +| 182| [[en:docs:win16:api:kernel:__B800H]] | Selector of B800:0000 | | | | | | 
-| 183| [[en:docs:win16:api:kernel|???]] |  | | | | | | +| 183| [[en:docs:win16:api:kernel:__0000H]] | Selector of 0000:0000 | | | | | | 
-| 184| [[en:docs:win16:api:kernel:GlobalDOSAlloc]] | | | | +| 184| [[en:docs:win16:api:kernel:GlobalDOSAlloc]] | Allocate memory blocks in the first megabyte address space | | | 
-| 185| [[en:docs:win16:api:kernel:GlobalDOSFree]] | | | | +| 185| [[en:docs:win16:api:kernel:GlobalDOSFree]] | Free memory blocks in the first megabyte address space | | | 
-| 186| [[en:docs:win16:api:kernel:GetSelectorBase]] | | | | +| 186| [[en:docs:win16:api:kernel:GetSelectorBase]] | Get selector base address | | | 
-| 187| [[en:docs:win16:api:kernel:SetSelectorBase]] | | | | +| 187| [[en:docs:win16:api:kernel:SetSelectorBase]] | Sel selector base address | | | 
-| 188| [[en:docs:win16:api:kernel:GetSelectorLimit]] | | | | +| 188| [[en:docs:win16:api:kernel:GetSelectorLimit]] | Get selector memory limit | | | 
-| 189| [[en:docs:win16:api:kernel:SetSelectorLimit]] | | | | +| 189| [[en:docs:win16:api:kernel:SetSelectorLimit]] | Set selector memory limit | | | 
-| 190| [[en:docs:win16:api:kernel|???]] |  | | | | | |+| 190| [[en:docs:win16:api:kernel:__E000H]] | Selector of E000:0000 | | | | | |
 | 191| [[en:docs:win16:api:kernel:GlobalPageLock]] | | | | | 191| [[en:docs:win16:api:kernel:GlobalPageLock]] | | | |
 | 192| [[en:docs:win16:api:kernel:GlobalPageUnlock]] | | | | | 192| [[en:docs:win16:api:kernel:GlobalPageUnlock]] | | | |
-| 193| [[en:docs:win16:api:kernel|???]] |  | | | | | | +| 193| [[en:docs:win16:api:kernel:__0040H]] | Selector of 0040:0000 | | | | | | 
-| 194| [[en:docs:win16:api:kernel|???]] |  | | | | | | +| 194| [[en:docs:win16:api:kernel:__F000H]] | Selector of F000:0000 | | | | | | 
-| 195| [[en:docs:win16:api:kernel|???]] |  | | | | | |+| 195| [[en:docs:win16:api:kernel:__C000H]] | Selector of C000:0000 | | | | | |
 | 196| [[en:docs:win16:api:kernel:SelectorAccessRights]] | | | | | 196| [[en:docs:win16:api:kernel:SelectorAccessRights]] | | | |
 | 197| [[en:docs:win16:api:kernel:GlobalFix]] | | | | | | Yes | | 197| [[en:docs:win16:api:kernel:GlobalFix]] | | | | | | Yes |
Line 205: Line 207:
 | 199| [[en:docs:win16:api:kernel:SetHandleCount]] | | | | | | Yes | | 199| [[en:docs:win16:api:kernel:SetHandleCount]] | | | | | | Yes |
 | 200| [[en:docs:win16:api:kernel:ValidateFreeSpaces]] | | | | | 200| [[en:docs:win16:api:kernel:ValidateFreeSpaces]] | | | |
-| 201| [[en:docs:win16:api:kernel|???]] |  | | | | | | +| 201| [[en:docs:win16:api:kernel:ReplaceInst]] |  | | | | | | 
-| 202| [[en:docs:win16:api:kernel|???]] |  | | | | | |+| 202| [[en:docs:win16:api:kernel:RegisterPtrace]] |  | | | | | |
 | 203| [[en:docs:win16:api:kernel:DebugBreak]] | | | | | 203| [[en:docs:win16:api:kernel:DebugBreak]] | | | |
 | 204| [[en:docs:win16:api:kernel:SwapRecording]] | | | | | 204| [[en:docs:win16:api:kernel:SwapRecording]] | | | |
-| 205| [[en:docs:win16:api:kernel|???]] |  | | | | | |+| 205| [[en:docs:win16:api:kernel:CVWBreak]] |  | | | | | |
 | 206| [[en:docs:win16:api:kernel:AllocSelectorArray]] | | | | | 206| [[en:docs:win16:api:kernel:AllocSelectorArray]] | | | |
 | 207| [[en:docs:win16:api:kernel:IsDBCSLeadByte]] | | | | | | Yes | | 207| [[en:docs:win16:api:kernel:IsDBCSLeadByte]] | | | | | | Yes |
Line 238: Line 240:
 LockData 1.03 LockData 1.03
 UnLockData 1.03 UnLockData 1.03
-SetPriority 1.03 
 AddFontResource 1.03 AddFontResource 1.03
 RemoveFontResource 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?)+
  
 {{page>en:templates:win16}} {{page>en:templates:win16}}