Windowsのsetupapi.hは、WinDDKでなく普通に入っているようになってたらしい。
(WinDDK = Windows Driver Development Kit)
昔、自分で作ったプログラムで、USB-UARTのポート情報を調べてCOM:のポート番号とそのポートのドライバがFTDIなのかSiLabなのかArduinoなのかを調べるというプログラムというのがあり、WinDDKのsetupapiを使っていた。
→ PCのCOMポート番号やポートの情報を調べるためのライブラリ
そのWinDDKのsetupapi.hというヘッダファイルをincludeしていたソースを最近コンパイルしなおすのにヘッダが見つからないということがあった。
そこでsetupapi.hって、WinDDKでないと入っていないのかとか調べていてWinDDKが不要というのに気がついた。
→ Win32 Setup APIでシステムに存在するデバイスのクラス・インターフェイスのクラスと説明を列挙する
Visual Studio 2019で、普通に
#include <setupapi.h>
として、
あとはリンクするときにsetupapi.libをリンクするようにすればよい。