Server 2016 & 2019 build query

I’m developing driver for Server 2016 & 2019. I’m using VS2019 & WDK 1903 for building the driver.
In ‘Driver Settings-> Target OS version’ I have chosen “Windows 10 or higher”
There is a new parameter, ‘Driver Settings-> _NT_TARGET_VERSION’, in which there are multiple OS build versions as follows:

Windows 10.0.18362
Windows 10.0.17763
Windows 10.0.17134
Windows 10.0.16299
Windows 10.0.15063
Windows 10.0.14393
Windows 10.0.10586
Windows 10.0.10240
Windows 8.1
Windows 8
Windows 7

In VS2015, there is no such _NT_TARGET_VERSION field. Hence it is straight forward to build driver for Server 2016 by choosing “Windows 10 or higher” as Target OS version.
But since there are many Windows Build versions for 2016 & 2019, I am not sure how to choose one.
Basically I want to choose the one for 2016 & 2019 which works from base OS version and upcoming releases.

Which is the base version for windows server 2016 and Windows server 2019?
Will it be compatible with future releases of the 2016 & 2019 OS?

Server 2016 was build 14393. So, for maximum “safety” and compatibility, you should choose that.

Peter

Thanks Peter.
What about server 2019?

Regards,
Vikash

Oh…, just use the older target, assuming you don’t need any APIs that we’re introduced between S16 and S19.

Peter

Thanks Peter for the quick reply.

Ours is a Storport Miniport driver for storage controller. I really wonder, is there any changes/improvements in terms of APIs in 2016 & 2019.

Can I set the below for both Server 2016 & 2019?
Driver Settings-> Target OS version’ ==> “Windows 10 or higher”

For 2016, Driver Settings-> _NT_TARGET_VERSION ==> “Windows 10.0.14393”
For 2019, Driver Settings-> _NT_TARGET_VERSION ==> “Windows 10.0.17763” (Win Server 2019 with March 2019 update build version)

Or just don’t set _NT_TARGET_VERSION property itself for 2016 & 2019.

Regards,
Vikash