The following new KERNEL functions have been added to Windows 3.1:
| Function | Description |
| DebugOutput | Sends formatted messages to the debugging terminal. |
| DirectedYield | Forces execution to continue at a specified task. |
| GetSelectorBase | Retrieves the base address of a selector. |
| GetSelectorLimit | Retrieves the limit of a selector. |
| GetWinDebugInfo | Queries current system-debugging information. |
| hmemcpy | Copies bytes. |
| _hread | Reads from a file. |
| _hwrite | Writes to a file. |
| IsBadCodePtr | Determines whether a code pointer is valid. |
| IsBadHugeReadPtr | Determines whether a huge read pointer is valid. |
| IsBadHugeWritePtr | Determines whether a huge write pointer is valid. |
| IsBadReadPtr | Determines whether a read pointer is valid. |
| IsBadStringPtr | Determines whether a string pointer is valid. |
| IsBadWritePtr | Determines whether a write pointer is valid. |
| IsDBCSLeadByte | Determines whether a character is the lead byte, the first byte of a character in a double-byte character set (DBCS). |
| IsTask | Determines whether a task handle is valid. |
| LogError | Identifies an error message. |
| LogParamError | Identifies a parameter-validation error. |
| SetSelectorBase | Sets the base of an existing selector. |
| SetSelectorLimit | Sets the limit of a selector. |
| SetWinDebugInfo | Sets current system-debugging information. |