HAL Exports Added For Version 6.0

This page lists all the exports that were added to the HAL for version 6.0, i.e., for Windows Vista. One is exported only from the x64 builds (until version 10.0 makes it also an x86 export). Another doesn’t survive even to the first service pack, i.e., Windows Vista SP1 which is also Windows Server 2008. Five do not start until Windows Vista SP1.

Although this version brings by far the largest increase in exported functionality since the HAL’s creation, not even one of the new functions is documented. One, merely shaded yellow below, is at least declared in a WDK header file (though with no indication of which Windows versions it appears in).

Function Remarks
HalBugCheckSystem  
HalConvertDeviceIdtToIrql  
HalDisableInterrupt  
HalDynamicProcessorStarted discontinued in Windows Vista SP1
HalEnableInterrupt  
HalEnumerateEnvironmentVariablesEx  
HalEnumerateProcessors x64 only;
x86 also in 10.0 and higher
HalGetEnvironmentVariableEx  
HalGetInterruptTargetInformation  
HalGetMessageRoutingInfo  
HalGetProcessorIdByNtNumber begins in Windows Vista SP1
HalGetVectorInput  
HalInitializeBios  
HalInitializeOnResume begins in Windows Vista SP1
HalQueryEnvironmentVariableInfoEx begins in Windows Vista SP1
HalQueryMaximumProcessorCount begins in Windows Vista SP1
HalRegisterDynamicProcessor begins in Windows Vista SP1
HalRegisterErrataCallbacks  
HalSetEnvironmentVariableEx  
HalStartDynamicProcessor  
x86BiosAllocateBuffer  
x86BiosCall  
x86BiosFreeBuffer  
x86BiosReadMemory  
x86BiosWriteMemory