Geoff Chappell, Software Analyst
The HviIsHypervisorMicrosoftCompatible function tells whether the cpuid instruction is implemented by a hypervisor that has Microsoft’s interface.
BOOLEAN HviIsHypervisorMicrosoftCompatible (VOID);
The function returns TRUE or FALSE according to whether a hypervisor is present and implements Microsoft’s interface.
The HviIsHypervisorMicrosoftCompatible function is exported by name from the kernel in version 10.0 and higher.
The HviIsHypervisorMicrosoftCompatible function is not documented.
If a hypervisor is present, the function executes cpuid leaf 0x40000001—see HviGetHypervisorInterface—whose output in eax is the 4-byte signature of the hypervisor’s interface. The function returns TRUE if and only if this signature is 0x31237648, i.e., “Hv#1” when the bytes are read as text from least significant to most.