Geoff Chappell - Software Analyst
The table below lists all the functions that are exported from KERNEL32 version 3.51. For the purpose of this study, without having found an earlier (32-bit) Windows NT for inspection, these functions are treated as original. Almost all are still exported as of version 6.1, though many are now implemented in other DLLs.
A summary of documentation status is conveyed by colour coding. A function is shaded red to indicate that it got documented among the Settlement Program Interfaces in late 2002. There are only two of these and one was documented already (but as obsolete). All functions that are documented as obsolete are shaded pink. A handful of functions are not formally documented as available in user mode but are documented in the Windows Driver Kit for use in kernel mode. These are shaded yellow. Functions that appear to be completely undocumented are highlighted yellow.
Though almost all KERNEL32 functions are nowadays documented, not all these original functions have been documented from the beginning. These are marked below with as much precision as I happen to know by looking at MSDN Library editions on CD, each dated January for 2001, 2004 and 2007. For example, if a function is not yet documented for the MSDN Library on CD dated January 2001 but is by January 2004, it is marked as “undocumented until 2001-2003”. Microsoft would have it believed that some of these late-documented functions require at least Windows XP.
Microsoft’s documentation is surely not intended nowadays, if it ever was, as a historical record of when any functions were first exported from KERNEL32. Though some of these original functions retain “Windows 95, Windows NT 3.1” as the “minimum operating systems”, references to early Windows versions have mostly been pruned from the documentation, presumably as those versions drop from being supported. Thus, where the MSDN Library from January 2001 typically dates these original functions to a “Windows NT 3.1” (not found for this study), the corresponding documentation from January 2004 and even January 2007 talks less specifically of “Windows NT Workstation” and “Windows NT Server”. In 2009, in the SDK for Windows 7, these original functions are typically said by Microsoft to require at least Windows 2000.
All functions that are exported from version 3.51 are exported from at least some later version. However, some carry to version 4.0 only in the NT builds, i.e., not for Windows 95. If such a function is not exported from the KERNEL32 for any later versions of the Windows that runs on DOS, it is marked “NT only”. A function that is marked “NT-only in 4.0” is skipped for Windows 95 but is picked up for Windows 98, i.e., version 4.10.
It ought perhaps also be stressed here a function’s appearance in this table means only that the function is exported from KERNEL32 as early as some build of version 3.51. It does not mean that the function is implemented non-trivially in that version, let alone in any later versions.
Some of these original functions seem always to have been implemented only as forwards to another module, such that although the function appears in the KERNEL32 export table, it has no code in KERNEL32. Some more become forwards only in later versions. Especially in version 6.1 and higher, many functions are implemented within KERNEL32 only as stubs, to jump to a more substantial implementation elsewhere.
A handful of functions eventually cease to be forwarded. One case is notable because it is a bug fix. Forwarding HeapFree to the NTDLL function RtlFreeHeap had the effect of making HeapFree appear to return only an 8-bit BOOLEAN instead of the documented 32-bit BOOL. This was not corrected until version 6.0.
| Function | Remarks |
|---|---|
| AddAtomA | |
| AddAtomW | |
| AddConsoleAliasA | NT only; undocumented until 2001-2003 |
| AddConsoleAliasW | NT only; undocumented until 2001-2003 |
| AllocConsole | |
| AreFileApisANSI | implemented as jump to KERNELBASE in 6.1 and higher |
| BackupRead | |
| BackupSeek | |
| BackupWrite | |
| BaseAttachCompleteThunk | NT only; discontinued in 5.1 |
| Beep | |
| BeginUpdateResourceA | |
| BeginUpdateResourceW | |
| BuildCommDCBA | |
| BuildCommDCBW | |
| BuildCommDCBAndTimeoutsA | |
| BuildCommDCBAndTimeoutsW | |
| CallNamedPipeA | |
| CallNamedPipeW | |
| ClearCommBreak | |
| ClearCommError | |
| CloseConsoleHandle | NT only |
| CloseHandle | |
| CloseProfileUserMapping | |
| CmdBatNotification | NT only |
| CommConfigDialogA | |
| CommConfigDialogW | |
| CompareFileTime | implemented as jump to API-MS-Win-Core-File-L1-1-0 in 6.1 and higher |
| CompareStringA | implemented as jump to KERNELBASE in 6.1 and higher |
| CompareStringW | implemented as jump to API-MS-Win-Core-String-L1-1-0 in 6.1 and higher |
| ConnectNamedPipe | implemented as jump to API-MS-Win-Core-NamedPipe-L1-1-0 in 6.1 and higher |
| ConsoleMenuControl | NT only |
| ContinueDebugEvent | |
| ConvertDefaultLocale | implemented as jump to API-MS-Win-Core-Localization-L1-1-0 in 6.1 and higher |
| ConvertThreadToFiber | begins in SP5; NT-only in 4.0; documented for SP3 (not inspected for this study) |
| CopyFileA | |
| CopyFileW | |
| CreateConsoleScreenBuffer | |
| CreateDirectoryA | implemented as jump to API-MS-Win-Core-File-L1-1-0 in 6.1 and higher |
| CreateDirectoryW | implemented as jump to API-MS-Win-Core-File-L1-1-0 in 6.1 and higher |
| CreateDirectoryExA | |
| CreateDirectoryExW | |
| CreateEventA | implemented as jump to API-MS-Win-Core-Synch-L1-1-0 in 6.1 and higher |
| CreateEventW | implemented as jump to API-MS-Win-Core-Synch-L1-1-0 in 6.1 and higher |
| CreateFiber | begins in SP5; NT-only in 4.0; documented from SP3 (not inspected for this study) |
| CreateFileA | |
| CreateFileW | |
| CreateFileMappingA | |
| CreateFileMappingW | implemented as jump to API-MS-Win-Core-Memory-L1-1-0 in 6.1 and higher |
| CreateIoCompletionPort | implemented as jump to API-MS-Win-Core-IO-L1-1-0 in 6.1 and higher |
| CreateMailslotA | |
| CreateMailslotW | |
| CreateMutexA | implemented as jump to API-MS-Win-Core-Synch-L1-1-0 in 6.1 and higher |
| CreateMutexW | implemented as jump to API-MS-Win-Core-Synch-L1-1-0 in 6.1 and higher |
| CreateNamedPipeA | |
| CreateNamedPipeW | implemented as jump to API-MS-Win-Core-NamedPipe-L1-1-0 in 6.1 and higher |
| CreatePipe | implemented as jump to API-MS-Win-Core-NamedPipe-L1-1-0 in 6.1 and higher |
| CreateProcessA | |
| CreateProcessW | |
| CreateRemoteThread | implemented as jump to API-MS-Win-Core-ProcessThreads-L1-1-0 in 6.1 and higher |
| CreateSemaphoreA | |
| CreateSemaphoreW | |
| CreateTapePartition | |
| CreateThread | |
| CreateVirtualBuffer | NT only; discontinued in 5.2 from Windows Server 2003 SP1 |
| DebugActiveProcess | |
| DebugBreak | implemented as jump to API-MS-Win-Core-Debug-L1-1-0 in 6.1 and higher |
| DefineDosDeviceA | |
| DefineDosDeviceW | implemented as jump to API-MS-Win-Core-File-L1-1-0 in 6.1 and higher |
| DeleteAtom | |
| DeleteCriticalSection | forwarded to NTDLL function RtlDeleteCriticalSection in 4.0 and higher (NT only) |
| DeleteFiber | begins in SP5; NT-only in 4.0; documented for SP3 (not inspected for this study) |
| DeleteFileA | implemented as jump to API-MS-Win-Core-File-L1-1-0 in 6.1 and higher |
| DeleteFileW | implemented as jump to API-MS-Win-Core-File-L1-1-0 in 6.1 and higher |
| DeviceIoControl | |
| DisableThreadLibraryCalls | implemented as jump to API-MS-Win-Core-LibraryLoader-L1-1-0 in 6.1 and higher |
| DisconnectNamedPipe | implemented as jump to API-MS-Win-Core-NamedPipe-L1-1-0 in 6.1 and higher |
| DosDateTimeToFileTime | |
| DuplicateConsoleHandle | NT only |
| DuplicateHandle | |
| EndUpdateResourceA | |
| EndUpdateResourceW | |
| EnterCriticalSection | forwarded to NTDLL function RtlEnterCriticalSection in 4.0 and higher (NT only) |
| EnumCalendarInfoA | |
| EnumCalendarInfoW | implemented as jump to KERNELBASE in 6.1 and higher |
| EnumDateFormatsA | |
| EnumDateFormatsW | implemented as jump to KERNELBASE in 6.1 and higher |
| EnumResourceLanguagesA | |
| EnumResourceLanguagesW | |
| EnumResourceNamesA | |
| EnumResourceNamesW | |
| EnumResourceTypesA | |
| EnumResourceTypesW | |
| EnumSystemCodePagesA | |
| EnumSystemCodePagesW | implemented as jump to KERNELBASE in 6.1 and higher |
| EnumSystemLocalesA | implemented as jump to API-MS-Win-Core-Misc-L1-1-0 in 6.1 and higher |
| EnumSystemLocalesW | implemented as jump to KERNELBASE in 6.1 and higher |
| EnumTimeFormatsA | |
| EnumTimeFormatsW | implemented as jump to KERNELBASE in 6.1 and higher |
| EraseTape | |
| EscapeCommFunction | |
| ExitProcess | forwarded to NTDLL function RtlExitUserProcess in 6.0 and higher (x64 only) |
| ExitThread | forwarded to NTDLL function RtlExitUserThread in 6.0 and higher |
| ExitVDM | NT only |
| ExpandEnvironmentStringsA | implemented as jump to API-MS-Win-Core-ProcessEnvironment-L1-1-0 in 6.1 and higher |
| ExpandEnvironmentStringsW | implemented as jump to API-MS-Win-Core-ProcessEnvironment-L1-1-0 in 6.1 and higher |
| ExpungeConsoleCommandHistoryA | NT only |
| ExpungeConsoleCommandHistoryW | NT only |
| ExtendVirtualBuffer | NT only; discontinued in 5.2 from Windows Server 2003 SP1 |
| FatalAppExitA | implemented as jump to API-MS-Win-Core-Misc-L1-1-0 in 6.1 and higher |
| FatalAppExitW | implemented as jump to API-MS-Win-Core-Misc-L1-1-0 in 6.1 and higher |
| FatalExit | |
| FileTimeToDosDateTime | |
| FileTimeToLocalFileTime | implemented as jump to API-MS-Win-Core-File-L1-1-0 in 6.1 and higher |
| FileTimeToSystemTime | implemented as jump to API-MS-Win-Core-File-L1-1-0 in 6.1 and higher |
| FillConsoleOutputAttribute | |
| FillConsoleOutputCharacterA | |
| FillConsoleOutputCharacterW | |
| FindAtomA | |
| FindAtomW | |
| FindClose | implemented as jump to API-MS-Win-Core-File-L1-1-0 in 6.1 and higher |
| FindCloseChangeNotification | implemented as jump to API-MS-Win-Core-File-L1-1-0 in 6.1 and higher |
| FindFirstChangeNotificationA | implemented as jump to API-MS-Win-Core-File-L1-1-0 in 6.1 and higher |
| FindFirstChangeNotificationW | implemented as jump to API-MS-Win-Core-File-L1-1-0 in 6.1 and higher |
| FindFirstFileA | implemented as jump to API-MS-Win-Core-File-L1-1-0 in 6.1 and higher |
| FindFirstFileW | implemented as jump to API-MS-Win-Core-File-L1-1-0 in 6.1 and higher |
| FindNextChangeNotification | implemented as jump to API-MS-Win-Core-File-L1-1-0 in 6.1 and higher |
| FindNextFileA | implemented as jump to API-MS-Win-Core-File-L1-1-0 in 6.1 and higher |
| FindNextFileW | implemented as jump to API-MS-Win-Core-File-L1-1-0 in 6.1 and higher |
| FindResourceA | |
| FindResourceW | |
| FindResourceExA | |
| FindResourceExW | implemented as jump to API-MS-Win-Core-LibraryLoader-L1-1-0 in 6.1 and higher |
| FlushConsoleInputBuffer | |
| FlushFileBuffers | |
| FlushInstructionCache | |
| FlushViewOfFile | implemented as jump to API-MS-Win-Core-Memory-L1-1-0 in 6.1 and higher |
| FoldStringA | |
| FoldStringW | implemented as jump to API-MS-Win-Core-String-L1-1-0 in 6.1 and higher |
| FormatMessageA | implemented as jump to API-MS-Win-Core-Misc-L1-1-0 in 6.1 and higher |
| FormatMessageW | implemented as jump to API-MS-Win-Core-Misc-L1-1-0 in 6.1 and higher |
| FreeConsole | |
| FreeEnvironmentStringsA | implemented as jump to API-MS-Win-Core-ProcessEnvironment-L1-1-0 in 6.1 and higher |
| FreeEnvironmentStringsW | implemented as jump to API-MS-Win-Core-ProcessEnvironment-L1-1-0 in 6.1 and higher |
| FreeLibrary | implemented as jump to API-MS-Win-Core-LibraryLoader-L1-1-0 in 6.1 and higher |
| FreeLibraryAndExitThread | implemented as jump to API-MS-Win-Core-LibraryLoader-L1-1-0 in 6.1 and higher |
| FreeResource | implemented as jump to API-MS-Win-Core-LibraryLoader-L1-1-0 in 6.1 and higher;
documented as obsolete (as early as 1997); documented for settlement (despite being already documented as obsolete) |
| FreeVirtualBuffer | NT only; discontinued in 5.2 from Windows Server 2003 SP1 |
| GenerateConsoleCtrlEvent | |
| GetACP | implemented as jump to API-MS-Win-Core-Localization-L1-1-0 in 6.1 and higher |
| GetAtomNameA | |
| GetAtomNameW | |
| GetBinaryType | |
| GetBinaryTypeA | |
| GetBinaryTypeW | |
| GetCommandLineA | implemented as jump to API-MS-Win-Core-ProcessEnvironment-L1-1-0 in 6.1 and higher |
| GetCommandLineW | implemented as jump to API-MS-Win-Core-ProcessEnvironment-L1-1-0 in 6.1 and higher |
| GetCommConfig | |
| GetCommMask | |
| GetCommModemStatus | |
| GetCommProperties | |
| GetCommState | |
| GetCommTimeouts | |
| GetCompressedFileSizeA | |
| GetCompressedFileSizeW | |
| GetComputerNameA | |
| GetComputerNameW | |
| GetConsoleAliasA | NT only; undocumented until 2001-2003 |
| GetConsoleAliasW | NT only; undocumented until 2001-2003 |
| GetConsoleAliasesA | NT only; undocumented until 2001-2003 |
| GetConsoleAliasesW | NT only; undocumented until 2001-2003 |
| GetConsoleAliasesLengthA | NT only; undocumented until 2001-2003 |
| GetConsoleAliasesLengthW | NT only; undocumented until 2001-2003 |
| GetConsoleAliasExesA | NT only; undocumented until 2001-2003 |
| GetConsoleAliasExesW | NT only; undocumented until 2001-2003 |
| GetConsoleAliasExesLengthA | NT only; undocumented until 2001-2003 |
| GetConsoleAliasExesLengthW | NT only; undocumented until 2001-2003 |
| GetConsoleCommandHistoryA | NT only |
| GetConsoleCommandHistoryW | NT only |
| GetConsoleCommandHistoryLengthA | NT-only |
| GetConsoleCommandHistoryLengthW | NT only |
| GetConsoleCP | |
| GetConsoleCursorInfo | |
| GetConsoleDisplayMode | NT only; undocumented until 2001-2003; documented as requiring at least Windows XP |
| GetConsoleFontInfo | NT only |
| GetConsoleFontSize | NT only; undocumented until 2001-2003; documented as requiring at least Windows XP |
| GetConsoleHardwareState | NT only |
| GetConsoleInputWaitHandle | NT only |
| GetConsoleMode | |
| GetConsoleOutputCP | |
| GetConsoleScreenBufferInfo | |
| GetConsoleTitleA | |
| GetConsoleTitleW | |
| GetCPInfo | implemented as jump to API-MS-Win-Core-Localization-L1-1-0 in 6.1 and higher |
| GetCurrencyFormatA | |
| GetCurrencyFormatW | |
| GetCurrentConsoleFont | NT only; undocumented until 2001-2003; documented as requiring at least Windows XP |
| GetCurrentDirectoryA | implemented as jump to API-MS-Win-Core-ProcessEnvironment-L1-1-0 in 6.1 and higher |
| GetCurrentDirectoryW | implemented as jump to API-MS-Win-Core-ProcessEnvironment-L1-1-0 in 6.1 and higher |
| GetCurrentProcess | implemented as jump to API-MS-Win-Core-ProcessThreads-L1-1-0 in 6.1 and higher |
| GetCurrentProcessId | implemented as jump to API-MS-Win-Core-ProcessThreads-L1-1-0 in 6.1 and higher |
| GetCurrentThread | implemented as jump to API-MS-Win-Core-ProcessThreads-L1-1-0 in 6.1 and higher |
| GetCurrentThreadId | implemented as jump to API-MS-Win-Core-ProcessThreads-L1-1-0 in 6.1 and higher |
| GetDateFormatA | |
| GetDateFormatW | |
| GetDefaultCommConfigA | |
| GetDefaultCommConfigW | |
| GetDiskFreeSpaceA | implemented as jump to API-MS-Win-Core-File-L1-1-0 in 6.1 and higher |
| GetDiskFreeSpaceW | implemented as jump to API-MS-Win-Core-File-L1-1-0 in 6.1 and higher |
| GetDriveTypeA | implemented as jump to API-MS-Win-Core-File-L1-1-0 in 6.1 and higher |
| GetDriveTypeW | implemented as jump to API-MS-Win-Core-File-L1-1-0 in 6.1 and higher |
| GetEnvironmentStrings | implemented as jump to API-MS-Win-Core-ProcessEnvironment-L1-1-0 in 6.1 and higher |
| GetEnvironmentStringsA | implemented as jump to API-MS-Win-Core-ProcessEnvironment-L1-1-0 in 6.1 and higher |
| GetEnvironmentStringsW | implemented as jump to API-MS-Win-Core-ProcessEnvironment-L1-1-0 in 6.1 and higher |
| GetEnvironmentVariableA | implemented as jump to API-MS-Win-Core-ProcessEnvironment-L1-1-0 in 6.1 and higher |
| GetEnvironmentVariableW | implemented as jump to API-MS-Win-Core-ProcessEnvironment-L1-1-0 in 6.1 and higher |
| GetExitCodeProcess | |
| GetExitCodeThread | implemented as jump to API-MS-Win-Core-ProcessThreads-L1-1-0 in 6.1 and higher |
| GetFileAttributesA | implemented as jump to API-MS-Win-Core-File-L1-1-0 in 6.1 and higher |
| GetFileAttributesW | implemented as jump to API-MS-Win-Core-File-L1-1-0 in 6.1 and higher |
| GetFileInformationByHandle | implemented as jump to API-MS-Win-Core-File-L1-1-0 in 6.1 and higher |
| GetFileSize | implemented as jump to API-MS-Win-Core-File-L1-1-0 in 6.1 and higher |
| GetFileTime | implemented as jump to API-MS-Win-Core-File-L1-1-0 in 6.1 and higher |
| GetFileType | |
| GetFullPathNameA | implemented as jump to API-MS-Win-Core-File-L1-1-0 in 6.1 and higher |
| GetFullPathNameW | implemented as jump to API-MS-Win-Core-File-L1-1-0 in 6.1 and higher |
| GetHandleInformation | |
| GetLargestConsoleWindowSize | |
| GetLastError | forwarded to NTDLL function RtlGetLastWin32Error
in 5.1 and 5.2; implemented as jump to API-MS-Win-Core-ErrorHandling-L1-1-0 in 6.1 and higher |
| GetLocaleInfoA | implemented as jump to KERNELBASE in 6.1 and higher |
| GetLocaleInfoW | implemented as jump to API-MS-Win-Core-Localization-L1-1-0 in 6.1 and higher |
| GetLocalTime | implemented as jump to API-MS-Win-Core-SysInfo-L1-1-0 in 6.1 and higher |
| GetLogicalDrives | |
| GetLogicalDriveStringsA | |
| GetLogicalDriveStringsW | implemented as jump to API-MS-Win-Core-File-L1-1-0 in 6.1 and higher |
| GetMailslotInfo | |
| GetModuleFileNameA | implemented as jump to API-MS-Win-Core-LibraryLoader-L1-1-0 in 6.1 and higher |
| GetModuleFileNameW | implemented as jump to API-MS-Win-Core-LibraryLoader-L1-1-0 in 6.1 and higher |
| GetModuleHandleA | implemented as jump to API-MS-Win-Core-LibraryLoader-L1-1-0 in 6.1 and higher |
| GetModuleHandleW | implemented as jump to API-MS-Win-Core-LibraryLoader-L1-1-0 in 6.1 and higher |
| GetNamedPipeHandleStateA | |
| GetNamedPipeHandleStateW | |
| GetNamedPipeInfo | |
| GetNextVDMCommand | NT only |
| GetNumberFormatA | |
| GetNumberFormatW | |
| GetNumberOfConsoleFonts | NT only |
| GetNumberOfConsoleInputEvents | |
| GetNumberOfConsoleMouseButtons | |
| GetOEMCP | implemented as jump to API-MS-Win-Core-Localization-L1-1-0 in 6.1 and higher |
| GetOverlappedResult | implemented as jump to API-MS-Win-Core-IO-L1-1-0 in 6.1 and higher |
| GetPriorityClass | implemented as jump to API-MS-Win-Core-ProcessThreads-L1-1-0 in 6.1 and higher |
| GetPrivateProfileIntA | |
| GetPrivateProfileIntW | |
| GetPrivateProfileSectionA | |
| GetPrivateProfileSectionNamesA | |
| GetPrivateProfileSectionNamesW | |
| GetPrivateProfileSectionW | |
| GetPrivateProfileStringA | |
| GetPrivateProfileStringW | |
| GetPrivateProfileStructA | |
| GetPrivateProfileStructW | |
| GetProcAddress | implemented as jump to API-MS-Win-Core-LibraryLoader-L1-1-0 in 6.1 and higher |
| GetProcessAffinityMask | |
| GetProcessHeap | implemented as jump to API-MS-Win-Core-Heap-L1-1-0 in 6.1 and higher |
| GetProcessHeaps | implemented as jump to API-MS-Win-Core-Heap-L1-1-0 in 6.1 and higher |
| GetProcessShutdownParameters | |
| GetProcessTimes | implemented as jump to API-MS-Win-Core-ProcessThreads-L1-1-0 in 6.1 and higher |
| GetProcessVersion | implemented as jump to API-MS-Win-Core-ProcessThreads-L1-1-0 in 6.1 and higher |
| GetProcessWorkingSetSize | |
| GetProfileIntA | |
| GetProfileIntW | |
| GetProfileSectionA | |
| GetProfileSectionW | |
| GetProfileStringA | |
| GetProfileStringW | |
| GetQueuedCompletionStatus | implemented as jump to API-MS-Win-Core-IO-L1-1-0 in 6.1 and higher |
| GetShortPathNameA | |
| GetShortPathNameW | |
| GetStartupInfoA | |
| GetStartupInfoW | implemented as jump to API-MS-Win-Core-ProcessThreads-L1-1-0 in 6.1 and higher |
| GetStdHandle | implemented as jump to API-MS-Win-Core-ProcessEnvironment-L1-1-0 in 6.1 and higher |
| GetStringTypeA | implemented as jump to KERNELBASE in 6.1 and higher |
| GetStringTypeW | implemented as jump to API-MS-Win-Core-String-L1-1-0 in 6.1 and higher |
| GetStringTypeExA | |
| GetStringTypeExW | implemented as jump to API-MS-Win-Core-String-L1-1-0 in 6.1 and higher |
| GetSystemDefaultLangID | implemented as jump to API-MS-Win-Core-Localization-L1-1-0 in 6.1 and higher |
| GetSystemDefaultLCID | implemented as jump to API-MS-Win-Core-Localization-L1-1-0 in 6.1 and higher |
| GetSystemDirectoryA | |
| GetSystemDirectoryW | |
| GetSystemInfo | implemented as jump to API-MS-Win-Core-SysInfo-L1-1-0 in 6.1 and higher |
| GetSystemPowerStatus | |
| GetSystemTime | implemented as jump to API-MS-Win-Core-SysInfo-L1-1-0 in 6.1 and higher |
| GetSystemTimeAdjustment | implemented as jump to API-MS-Win-Core-SysInfo-L1-1-0 in 6.1 and higher |
| GetSystemTimeAsFileTime | implemented as jump to API-MS-Win-Core-SysInfo-L1-1-0 in 6.1 and higher |
| GetTapeParameters | |
| GetTapePosition | |
| GetTapeStatus | |
| GetTempFileNameA | |
| GetTempFileNameW | implemented as jump to API-MS-Win-Core-File-L1-1-0 in 6.1 and higher |
| GetTempPathA | |
| GetTempPathW | |
| GetThreadContext | |
| GetThreadLocale | implemented as jump to API-MS-Win-Core-Localization-L1-1-0 in 6.1 and higher |
| GetThreadPriority | implemented as jump to API-MS-Win-Core-ProcessThreads-L1-1-0 in 6.1 and higher |
| GetThreadSelectorEntry | |
| GetThreadTimes | |
| GetTickCount | implemented as jump to API-MS-Win-Core-SysInfo-L1-1-0 in 6.1 and higher |
| GetTimeFormatA | |
| GetTimeFormatW | |
| GetTimeZoneInformation | implemented as jump to API-MS-Win-Core-SysInfo-L1-1-0 in 6.1 and higher |
| GetUserDefaultLangID | implemented as jump to API-MS-Win-Core-Localization-L1-1-0 in 6.1 and higher |
| GetUserDefaultLCID | implemented as jump to API-MS-Win-Core-Localization-L1-1-0 in 6.1 and higher |
| GetVDMCurrentDirectories | NT only |
| GetVersion | implemented as jump to API-MS-Win-Core-SysInfo-L1-1-0 in 6.1 and higher |
| GetVersionExA | implemented as jump to API-MS-Win-Core-SysInfo-L1-1-0 in 6.1 and higher |
| GetVersionExW | implemented as jump to API-MS-Win-Core-SysInfo-L1-1-0 in 6.1 and higher |
| GetVolumeInformationA | |
| GetVolumeInformationW | implemented as jump to API-MS-Win-Core-File-L1-1-0 in 6.1 and higher |
| GetWindowsDirectoryA | implemented as jump to API-MS-Win-Core-SysInfo-L1-1-0 in 6.1 and higher |
| GetWindowsDirectoryW | implemented as jump to API-MS-Win-Core-SysInfo-L1-1-0 in 6.1 and higher |
| GlobalAddAtomA | |
| GlobalAddAtomW | |
| GlobalAlloc | implemented as jump to API-MS-Win-Core-Misc-L1-1-0 in 6.1 and higher |
| GlobalCompact | |
| GlobalDeleteAtom | |
| GlobalFindAtomA | |
| GlobalFindAtomW | |
| GlobalFix | |
| GlobalFlags | |
| GlobalFree | implemented as jump to API-MS-Win-Core-Misc-L1-1-0 in 6.1 and higher |
| GlobalGetAtomNameA | |
| GlobalGetAtomNameW | |
| GlobalHandle | |
| GlobalLock | |
| GlobalMemoryStatus | |
| GlobalReAlloc | |
| GlobalSize | |
| GlobalUnfix | |
| GlobalUnlock | |
| GlobalUnWire | |
| GlobalWire | |
| HeapAlloc | forwarded to NTDLL function RtlAllocateHeap (NT only) |
| HeapCompact | implemented as jump to API-MS-Win-Core-Heap-L1-1-0 in 6.1 and higher |
| HeapCreate | implemented as jump to API-MS-Win-Core-Heap-L1-1-0 in 6.1 and higher |
| HeapCreateTagsW | NT only; discontinued in 6.0 |
| HeapDestroy | implemented as jump to API-MS-Win-Core-Heap-L1-1-0 in 6.1 and higher |
| HeapExtend | NT only; discontinued in 6.0 |
| HeapFree | forwarded to NTDLL function RtlFreeHeap before 6.0 (NT only) |
| HeapLock | implemented as jump to API-MS-Win-Core-Heap-L1-1-0 in 6.1 and higher |
| HeapQueryTagW | NT only; discontinued in 6.0 |
| HeapReAlloc | forwarded to NTDLL function RtlReAllocateHeap (NT only) |
| HeapSize | forwarded to NTDLL function RtlSizeHeap (NT only) |
| HeapSummary | NT only; implemented as jump to API-MS-Win-Core-Heap-L1-1-0 in 6.1 and higher |
| HeapUnlock | implemented as jump to API-MS-Win-Core-Heap-L1-1-0 in 6.1 and higher |
| HeapUsage | NT only; discontinued in 6.0 |
| HeapValidate | implemented as jump to API-MS-Win-Core-Heap-L1-1-0 in 6.1 and higher |
| HeapWalk | implemented as jump to API-MS-Win-Core-Heap-L1-1-0 in 6.1 and higher |
| InitAtomTable | |
| InitializeCriticalSection | forwarded to NTDLL function RtlInitializeCriticalSection in 6.0 and higher |
| InterlockedDecrement | x86 only |
| InterlockedExchange | x86 only |
| InterlockedIncrement | x86 only |
| InvalidateConsoleDIBits | NT only |
| IsBadCodePtr | |
| IsBadHugeReadPtr | |
| IsBadHugeWritePtr | |
| IsBadReadPtr | |
| IsBadStringPtrA | |
| IsBadStringPtrW | |
| IsBadWritePtr | |
| IsDBCSLeadByte | implemented as jump to KERNELBASE in 6.1 and higher |
| IsDBCSLeadByteEx | implemented as jump to KERNELBASE in 6.1 and higher |
| IsDebuggerPresent | NT-only in 4.0; implemented as jump to API-MS-Win-Core-Debug-L1-1-0 in 6.1 and higher |
| IsValidCodePage | implemented as jump to API-MS-Win-Core-Localization-L1-1-0 in 6.1 and higher |
| IsValidLocale | implemented as jump to API-MS-Win-Core-Localization-L1-1-0 in 6.1 and higher |
| LCMapStringA | implemented as jump to API-MS-Win-Core-Misc-L1-1-0 in 6.1 and higher |
| LCMapStringW | implemented as jump to API-MS-Win-Core-Localization-L1-1-0 in 6.1 and higher |
| LeaveCriticalSection | forwarded to NTDLL function RtlLeaveCriticalSection in 4.0 and higher (NT only) |
| LoadLibraryA | |
| LoadLibraryW | |
| LoadLibraryExA | implemented as jump to API-MS-Win-Core-LibraryLoader-L1-1-0 in 6.1 and higher |
| LoadLibraryExW | implemented as jump to API-MS-Win-Core-LibraryLoader-L1-1-0 in 6.1 and higher |
| LoadModule | |
| LoadResource | implemented as jump to API-MS-Win-Core-LibraryLoader-L1-1-0 in 6.1 and higher |
| LocalAlloc | implemented as jump to API-MS-Win-Core-Misc-L1-1-0 in 6.1 and higher |
| LocalCompact | |
| LocalFileTimeToFileTime | implemented as jump to API-MS-Win-Core-File-L1-1-0 in 6.1 and higher |
| LocalFlags | |
| LocalFree | implemented as jump to API-MS-Win-Core-Misc-L1-1-0 in 6.1 and higher |
| LocalHandle | |
| LocalLock | implemented as jump to API-MS-Win-Core-Misc-L1-1-0 in 6.1 and higher |
| LocalReAlloc | implemented as jump to API-MS-Win-Core-Misc-L1-1-0 in 6.1 and higher |
| LocalShrink | |
| LocalSize | |
| LocalUnlock | implemented as jump to API-MS-Win-Core-Misc-L1-1-0 in 6.1 and higher |
| LockFile | implemented as jump to API-MS-Win-Core-File-L1-1-0 in 6.1 and higher |
| LockFileEx | implemented as jump to API-MS-Win-Core-File-L1-1-0 in 6.1 and higher |
| LockResource | implemented as jump to API-MS-Win-Core-LibraryLoader-L1-1-0 in 6.1 and higher |
| lstrcat | |
| lstrcatA | |
| lstrcatW | |
| lstrcmp | |
| lstrcmpA | |
| lstrcmpW | implemented as jump to API-MS-Win-Core-Misc-L1-1-0 in 6.1 and higher |
| lstrcmpi | |
| lstrcmpiA | |
| lstrcmpiW | implemented as jump to API-MS-Win-Core-Misc-L1-1-0 in 6.1 and higher |
| lstrcpy | |
| lstrcpyA | |
| lstrcpyW | |
| lstrcpyn | |
| lstrcpynA | implemented as jump to API-MS-Win-Core-Misc-L1-1-0 in 6.1 and higher |
| lstrcpynW | implemented as jump to API-MS-Win-Core-Misc-L1-1-0 in 6.1 and higher |
| lstrlen | |
| lstrlenA | implemented as jump to API-MS-Win-Core-Misc-L1-1-0 in 6.1 and higher |
| lstrlenW | implemented as jump to API-MS-Win-Core-Misc-L1-1-0 in 6.1 and higher |
| MapViewOfFile | implemented as jump to API-MS-Win-Core-Memory-L1-1-0 in 6.1 and higher |
| MapViewOfFileEx | implemented as jump to API-MS-Win-Core-Memory-L1-1-0 in 6.1 and higher |
| MoveFileA | |
| MoveFileW | |
| MoveFileExA | |
| MoveFileExW | |
| MulDiv | |
| MultiByteToWideChar | implemented as jump to API-MS-Win-Core-String-L1-1-0 in 6.1 and higher |
| OpenConsoleW | NT only |
| OpenEventA | implemented as jump to API-MS-Win-Core-Synch-L1-1-0 in 6.1 and higher |
| OpenEventW | implemented as jump to API-MS-Win-Core-Synch-L1-1-0 in 6.1 and higher |
| OpenFile | |
| OpenFileMappingA | |
| OpenFileMappingW | implemented as jump to API-MS-Win-Core-Memory-L1-1-0 in 6.1 and higher |
| OpenMutexA | |
| OpenMutexW | implemented as jump to API-MS-Win-Core-Synch-L1-1-0 in 6.1 and higher |
| OpenProcess | implemented as jump to API-MS-Win-Core-Synch-L1-1-0 in 6.1 and higher |
| OpenProfileUserMapping | |
| OpenSemaphoreA | |
| OpenSemaphoreW | implemented as jump to API-MS-Win-Core-Synch-L1-1-0 in 6.1 and higher |
| OutputDebugStringA | implemented as jump to API-MS-Win-Core-Debug-L1-1-0 in 6.1 and higher |
| OutputDebugStringW | implemented as jump to API-MS-Win-Core-Debug-L1-1-0 in 6.1 and higher |
| PeekConsoleInputA | |
| PeekConsoleInputW | |
| PeekNamedPipe | implemented as jump to API-MS-Win-Core-NamedPipe-L1-1-0 in 6.1 and higher |
| PostQueuedCompletionStatus | implemented as jump to API-MS-Win-Core-IO-L1-1-0 in 6.1 and higher |
| PrepareTape | |
| PulseEvent | implemented as jump to API-MS-Win-Core-Misc-L1-1-0 in 6.1 and higher |
| PurgeComm | |
| QueryDosDeviceA | |
| QueryDosDeviceW | implemented as jump to API-MS-Win-Core-File-L1-1-0 in 6.1 and higher |
| QueryPerformanceCounter | implemented as jump to API-MS-Win-Core-Profile-L1-1-0 in 6.1 and higher |
| QueryPerformanceFrequency | implemented as jump to API-MS-Win-Core-Profile-L1-1-0 in 6.1 and higher |
| QueryWin31IniFilesMappedToRegistry | NT only; discontinued in 5.2 |
| RaiseException | implemented as jump to API-MS-Win-Core-ErrorHandling-L1-1-0 in 6.1 and higher |
| ReadConsoleA | |
| ReadConsoleW | |
| ReadConsoleInputA | |
| ReadConsoleInputW | |
| ReadConsoleOutputA | |
| ReadConsoleOutputW | |
| ReadConsoleOutputAttribute | |
| ReadConsoleOutputCharacterA | |
| ReadConsoleOutputCharacterW | |
| ReadDirectoryChangesW | begins in SP5; NT-only in 4.0; documented (until 2001-2004) for SP3 (not inspected for this study) |
| ReadFile | |
| ReadFileEx | implemented as jump to API-MS-Win-Core-File-L1-1-0 in 6.1 and higher |
| ReadProcessMemory | implemented as jump to API-MS-Win-Core-Memory-L1-1-0 in 6.1 and higher |
| RegisterConsoleVDM | NT only |
| RegisterWaitForInputIdle | NT only |
| RegisterWowBaseHandlers | NT only |
| RegisterWowExec | NT only |
| ReleaseMutex | implemented as jump to API-MS-Win-Core-Synch-L1-1-0 in 6.1 and higher |
| ReleaseSemaphore | implemented as jump to API-MS-Win-Core-Synch-L1-1-0 in 6.1 and higher |
| RemoveDirectoryA | implemented as jump to API-MS-Win-Core-File-L1-1-0 in 6.1 and higher |
| RemoveDirectoryW | implemented as jump to API-MS-Win-Core-File-L1-1-0 in 6.1 and higher |
| ResetEvent | implemented as jump to API-MS-Win-Core-Synch-L1-1-0 in 6.1 and higher |
| ResumeThread | implemented as jump to API-MS-Win-Core-ProcessThreads-L1-1-0 in 6.1 and higher |
| RtlFillMemory | forwarded to NTDLL before 6.1 (NT only); redefined in WINNT.H as macro in terms of memset function |
| RtlMoveMemory | forwarded to NTDLL (x86 NT only); redefined in WINNT.H as macro in terms of memmove function |
| RtlUnwind | forwarded to NTDLL before 6.1 (NT only); implemented as jump to API-MS-Win-Core-RtlSupport-L1-1-0 in 6.1 and higher; documented for settlement |
| RtlZeroMemory | forwarded to NTDLL (NT only); redefined in WINNT.H as macro in terms of memset function |
| ScrollConsoleScreenBufferA | |
| ScrollConsoleScreenBufferW | |
| SearchPathA | |
| SearchPathW | implemented as jump to API-MS-Win-Core-ProcessEnvironment-L1-1-0 in 6.1 and higher |
| SetCommBreak | |
| SetCommConfig | |
| SetCommMask | |
| SetCommState | |
| SetCommTimeouts | |
| SetComputerNameA | |
| SetComputerNameW | |
| SetConsoleActiveScreenBuffer | |
| SetConsoleCommandHistoryMode | NT only; discontinued in 6.0 |
| SetConsoleCP | |
| SetConsoleCtrlHandler | |
| SetConsoleCursor | NT only |
| SetConsoleCursorInfo | |
| SetConsoleCursorPosition | |
| SetConsoleDisplayMode | NT only; undocumented until 2004-2006; documented as requiring at least Windows XP |
| SetConsoleFont | NT only |
| SetConsoleHardwareState | NT only |
| SetConsoleKeyShortcuts | NT only |
| SetConsoleMaximumWindowSize | NT only |
| SetConsoleMenuClose | NT only |
| SetConsoleMode | |
| SetConsoleNumberOfCommandsA | NT only |
| SetConsoleNumberOfCommandsW | NT only |
| SetConsoleOutputCP | |
| SetConsolePalette | NT only |
| SetConsoleScreenBufferSize | |
| SetConsoleTextAttribute | |
| SetConsoleTitleA | |
| SetConsoleTitleW | |
| SetConsoleWindowInfo | |
| SetCurrentDirectoryA | implemented as jump to API-MS-Win-Core-ProcessEnvironment-L1-1-0 in 6.1 and higher |
| SetCurrentDirectoryW | implemented as jump to API-MS-Win-Core-ProcessEnvironment-L1-1-0 in 6.1 and higher |
| SetDefaultCommConfigA | |
| SetDefaultCommConfigW | |
| SetEndOfFile | implemented as jump to API-MS-Win-Core-File-L1-1-0 in 6.1 and higher |
| SetEnvironmentVariableA | implemented as jump to API-MS-Win-Core-ProcessEnvironment-L1-1-0 in 6.1 and higher |
| SetEnvironmentVariableW | implemented as jump to API-MS-Win-Core-ProcessEnvironment-L1-1-0 in 6.1 and higher |
| SetErrorMode | implemented as jump to API-MS-Win-Core-ErrorHandling-L1-1-0 in 6.1 and higher |
| SetEvent | implemented as jump to API-MS-Win-Core-Synch-L1-1-0 in 6.1 and higher |
| SetFileApisToANSI | implemented as jump to KERNELBASE in 6.1 and higher |
| SetFileApisToOEM | implemented as jump to KERNELBASE in 6.1 and higher |
| SetFileAttributesA | implemented as jump to API-MS-Win-Core-File-L1-1-0 in 6.1 and higher |
| SetFileAttributesW | implemented as jump to API-MS-Win-Core-File-L1-1-0 in 6.1 and higher |
| SetFilePointer | implemented as jump to API-MS-Win-Core-File-L1-1-0 in 6.1 and higher |
| SetFileTime | implemented as jump to API-MS-Win-Core-File-L1-1-0 in 6.1 and higher |
| SetHandleCount | |
| SetHandleInformation | |
| SetLastConsoleEventActive | NT only |
| SetLastError | forwarded to NTDLL function RtlSetLastWin32Error
in 5.1 and 5.2; implemented as jump to API-MS-Win-Core-ErrorHandling-L1-1-0 in 6.1 and higher |
| SetLocaleInfoA | |
| SetLocaleInfoW | implemented as jump to API-MS-Win-Core-Localization-L1-1-0 in 6.1 and higher |
| SetLocalTime | implemented as jump to API-MS-Win-Core-SysInfo-L1-1-0 in 6.1 and higher |
| SetMailslotInfo | |
| SetNamedPipeHandleState | implemented as jump to API-MS-Win-Core-NamedPipe-L1-1-0 in 6.1 and higher |
| SetPriorityClass | implemented as jump to API-MS-Win-Core-ProcessThreads-L1-1-0 in 6.1 and higher |
| SetProcessShutdownParameters | implemented as jump to API-MS-Win-Core-ProcessThreads-L1-1-0 in 6.1 and higher |
| SetProcessWorkingSetSize | |
| SetStdHandle | implemented as jump to API-MS-Win-Core-ProcessEnvironment-L1-1-0 in 6.1 and higher |
| SetSystemPowerState | |
| SetSystemTime | |
| SetSystemTimeAdjustment | |
| SetTapeParameters | |
| SetTapePosition | |
| SetThreadAffinityMask | |
| SetThreadContext | |
| SetThreadLocale | implemented as jump to API-MS-Win-Core-Localization-L1-1-0 in 6.1 and higher |
| SetThreadPriority | implemented as jump to API-MS-Win-Core-ProcessThreads-L1-1-0 in 6.1 and higher |
| SetTimeZoneInformation | |
| SetUnhandledExceptionFilter | |
| SetupComm | |
| SetVDMCurrentDirectories | NT only |
| SetVolumeLabelA | |
| SetVolumeLabelW | |
| ShowConsoleCursor | NT only |
| SizeofResource | implemented as jump to API-MS-Win-Core-LibraryLoader-L1-1-0 in 6.1 and higher |
| Sleep | implemented as jump to API-MS-Win-Core-Misc-L1-1-0 in 6.1 and higher |
| SleepEx | implemented as jump to API-MS-Win-Core-Synch-L1-1-0 in 6.1 and higher |
| SuspendThread | implemented as jump to API-MS-Win-Core-ProcessThreads-L1-1-0 in 6.1 and higher |
| SwitchToFiber | begins in SP5; NT-only in 4.0; documented for SP3 (not inspected for this study) |
| SystemTimeToFileTime | |
| SystemTimeToTzSpecificLocalTime | implemented as jump to API-MS-Win-Core-SysInfo-L1-1-0 in 6.1 and higher |
| TerminateProcess | implemented as jump to API-MS-Win-Core-ProcessThreads-L1-1-0 in 6.1 and higher |
| TerminateThread | implemented as jump to API-MS-Win-Core-ProcessThreads-L1-1-0 in 6.1 and higher |
| TlsAlloc | implemented as jump to API-MS-Win-Core-ProcessThreads-L1-1-0 in 6.1 and higher |
| TlsFree | implemented as jump to API-MS-Win-Core-ProcessThreads-L1-1-0 in 6.1 and higher |
| TlsGetValue | implemented as jump to API-MS-Win-Core-ProcessThreads-L1-1-0 in 6.1 and higher |
| TlsSetValue | implemented as jump to API-MS-Win-Core-ProcessThreads-L1-1-0 in 6.1 and higher |
| TransactNamedPipe | implemented as jump to API-MS-Win-Core-NamedPipe-L1-1-0 in 6.1 and higher |
| TransmitCommChar | |
| TrimVirtualBuffer | NT only; discontinued in 5.2 from Windows Server 2003 SP1 |
| UnhandledExceptionFilter | |
| UnlockFile | implemented as jump to API-MS-Win-Core-File-L1-1-0 in 6.1 and higher |
| UnlockFileEx | implemented as jump to API-MS-Win-Core-File-L1-1-0 in 6.1 and higher |
| UnmapViewOfFile | implemented as jump to API-MS-Win-Core-Memory-L1-1-0 in 6.1 and higher |
| UpdateResourceA | |
| UpdateResourceW | |
| VDMConsoleOperation | NT only |
| VDMOperationStarted | NT only |
| VerifyConsoleIoHandle | NT only |
| VerLanguageNameA | implemented as jump to API-MS-Win-Core-Localization-L1-1-0 in 6.1 and higher |
| VerLanguageNameW | implemented as jump to API-MS-Win-Core-Localization-L1-1-0 in 6.1 and higher |
| VirtualAlloc | implemented as jump to API-MS-Win-Core-Memory-L1-1-0 in 6.1 and higher |
| VirtualBufferExceptionHandler | NT only; discontinued in 5.2 from Windows Server 2003 SP1 |
| VirtualFree | implemented as jump to API-MS-Win-Core-Memory-L1-1-0 in 6.1 and higher |
| VirtualLock | |
| VirtualProtect | implemented as jump to API-MS-Win-Core-Memory-L1-1-0 in 6.1 and higher |
| VirtualProtectEx | implemented as jump to API-MS-Win-Core-Memory-L1-1-0 in 6.1 and higher |
| VirtualQuery | implemented as jump to API-MS-Win-Core-Memory-L1-1-0 in 6.1 and higher |
| VirtualQueryEx | implemented as jump to API-MS-Win-Core-Memory-L1-1-0 in 6.1 and higher |
| VirtualUnlock | |
| WaitCommEvent | |
| WaitForDebugEvent | |
| WaitForMultipleObjects | |
| WaitForMultipleObjectsEx | |
| WaitForSingleObject | |
| WaitForSingleObjectEx | |
| WaitNamedPipeA | |
| WaitNamedPipeW | implemented as jump to API-MS-Win-Core-NamedPipe-L1-1-0 in 6.1 and higher |
| WideCharToMultiByte | implemented as jump to API-MS-Win-Core-String-L1-1-0 in 6.1 and higher |
| WinExec | |
| WriteConsoleA | |
| WriteConsoleW | |
| WriteConsoleInputA | |
| WriteConsoleInputW | |
| WriteConsoleInputVDMA | NT only |
| WriteConsoleInputVDMW | NT only |
| WriteConsoleOutputA | |
| WriteConsoleOutputW | |
| WriteConsoleOutputAttribute | |
| WriteConsoleOutputCharacterA | |
| WriteConsoleOutputCharacterW | |
| WriteFile | |
| WriteFileEx | implemented as jump to API-MS-Win-Core-File-L1-1-0 in 6.1 and higher |
| WritePrivateProfileSectionA | |
| WritePrivateProfileSectionW | |
| WritePrivateProfileStringA | |
| WritePrivateProfileStringW | |
| WritePrivateProfileStructA | |
| WritePrivateProfileStructW | |
| WriteProcessMemory | implemented as jump to API-MS-Win-Core-Memory-L1-1-0 in 6.1 and higher |
| WriteProfileSectionA | |
| WriteProfileSectionW | |
| WriteProfileStringA | |
| WriteProfileStringW | |
| WriteTapemark | |
| _hread | |
| _hwrite | |
| _lclose | |
| _lcreat | |
| _llseek | |
| _lopen | |
| _lread | |
| _lwrite |