API-MS-Win-Core-Heap-L1-1-0

All functions in the API-MS-Win-Core-Heap-L1-1-0 set are exports from KERNEL32:

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:

New Locations

For each function that KERNEL32 version 6.1 transfers to the API Set, a non-trivial implementation is exported from KERNELBASE version 6.1 and higher.

The other functions are also exported from KERNELBASE version 6.1 and higher, but as forwards to the corresponding NTDLL function. Although this forwarding reproduces the KERNEL32 handling for three of the functions, it is defective in the case of HeapFree: the NTDLL function, RtlFreeHeap, returns a one-byte BOOLEAN which is not certainly meaningful as a four-byte BOOL suitable for returning from HeapFree. This is more a curiosity than a problem, since very little code ever checks HeapFree for failure. Still, it is remarkable for reproducing in KERNELBASE a bug that took more than a decade to get noticed and corrected in KERNEL32.

Schema Redirection

The Windows 7 schema redirects this API Set to KERNELBASE. Thus: