How to fix the ApiValidator issue (ApiValidation: Error: XXX.sys has unsupported API call to "ntoskrnl.exe!KeGetCurrentIrql")

Li Wei 20 Reputation points
2023-02-01T07:02:08.23+00:00

Hello

I am developing the system driver for Windows 10 and trying to pass the ApiValidator.

I can pass the ApiValidator in VS2019 environment. But I can't pass it in HLK environment.

I am getting ApiValidation: Error: XXX.sys has unsupported API call to "ntoskrnl.exe!KeGetCurrentIrql" issue in HLK environment.

Environemts:

  • VS 2019: WDK 10.0.20348.0
  • HLK:
    • Controller Version: 10.1.19041.19041
    • Studio Version: 10.0.19041.1

I think the problem is because the UniversalDDIs.xml file of HLK is older than the UniversalDDIs.xml file of VS2019.

I attached the UniversalDDIs.xml files.

  • VS2019_UniversalDDIs.xml (C:\Program Files (x86)\Windows Kits\10\build\universalDDIs\x64\UniversalDDIs.xml)
  • HLK_UniversalDDIs.xml (C:\Program Files (x86)\Windows Kits\10\Hardware Lab Kit\Tests\amd64\ApiValidator\amd64_UniversalDDIs.xml)

Could you help me with?

Thank you

Li

Windows 10
Windows 10
A Microsoft operating system that runs on personal computers and tablets.
10,243 questions
0 comments No comments
{count} votes

3 answers

Sort by: Most helpful
  1. Limitless Technology 44,091 Reputation points
    2023-02-02T09:34:47.3633333+00:00

    Hi. Thank you for your question and reaching out. I’d be more than happy to help you with your query.

    The error "ApiValidation: Error: XXX.sys has unsupported API call to 'ntoskrnl.exe!KeGetCurrentIrql'" in the Windows Hardware Lab Kit (HLK) environment means that your system driver is making a call to an unsupported API in the Windows operating system. The API in question, "KeGetCurrentIrql", is a kernel-mode API that retrieves the current IRQL (Interrupt Request Level) of the system.

    To resolve this issue, you need to change your driver code to use a supported API or find an alternative solution that doesn't involve the unsupported API. You can check the Windows Driver Kit (WDK) documentation for a list of supported APIs and their usage.

    If you believe that the API in question is necessary for your driver's functionality and should be supported, you can provide feedback to Microsoft through the Windows Feedback Hub or through the Windows Insider Program.

    Note: Using unsupported APIs in your driver can cause stability and compatibility issues, and may prevent your driver from passing the HLK tests and being certified for use in Windows 10.

    If the reply was helpful, please don’t forget to upvote or accept as answer, thank you.


  2. Limitless Technology 44,091 Reputation points
    2023-02-02T09:35:00.75+00:00

    Double post

    0 comments No comments

  3. muaxi8 0 Reputation points
    2023-12-25T03:07:23.9+00:00

    I had the same problem in the HLK test, and it was very urgent. Windows 10 drivers run fine in test mode. how i fix it。 If KeGetCurrentIrql is not supported, why does the driver run without an error

    0 comments No comments