Geoff Chappell, Software Analyst
API-MS-Win-Core-Misc-L1-1-0
All functions in the API-MS-Win-Core-Misc-L1-1-0 set are documented exports from
KERNEL32:
- EnumSystemLocalesA
- FatalAppExitA
- FatalAppExitW
- FormatMessageA
- FormatMessageW
- GlobalAlloc
- GlobalFree
- IsProcessInJob
- IsWow64Process
- LCMapStringA
- LocalAlloc
- LocalFree
- LocalLock
- LocalReAlloc
- LocalUnlock
- lstrcmp
- lstrcmpA
- lstrcmpW
- lstrcmpi
- lstrcmpiA
- lstrcmpiW
- lstrcpyn
- lstrcpynA
- lstrcpynW
- lstrlen
- lstrlenA
- lstrlenW
- NeedCurrentDirectoryForExePathA
- NeedCurrentDirectoryForExePathW
- PulseEvent
- SetHandleCount
- Sleep
- Wow64DisableWow64FsRedirection
- Wow64RevertWow64FsRedirection
For most of these functions, the implementations in KERNEL32 version 6.1 and
higher are just stubs which transfer the handling to wherever the schema redirects
the API Set. The exceptions are:
- GlobalFree, for which KERNEL32 pre-processes
the transfer (to allow diversion to an address set by the
RegisterWowBaseHandlers function);
- lstrcmp, lstrcmpA,
lstrcmpi and lstrcmpiA,
for which KERNEL32 retains substantial implementations (in terms of
CompareStringA).
New Locations
Non-trivial implementations of all functions in this API Set are exported from
KERNELBASE version 6.1 and higher, even if very nearly duplicating a substantial
implementation that persists in KERNEL32.
Schema Redirection
The Windows 7 schema redirects this API Set to KERNELBASE. Thus:
- high-level executables, which do not use the API Set, continue to import these
functions from KERNEL32;
- low-level executables have their imports from the API Set redirected to KERNELBASE;
- as a particular case of the preceding, the stub implementations in KERNEL32
import from underlying implementations in KERNELBASE.
DLL File
Though version 6.2 of ApiSetSchema.dll defines the API-MS-Win-Core-Misc-L1-1-0
set, Windows 8 and higher do not supply an API-MS-Win-Core-Misc-L1-1-0.dll file.