FindFirstPrinterChangeNotification

FindFirstPrinterChangeNotificationは、指定のプリンタの状況変化を通知するハンドルを取得できる。

FindFirstPrinterChangeNotification 関数 (Winspool .h) - Win32 apps | Microsoft Docs
FindFirstPrinterChangeNotification

これで変更通知ハンドルを取得する。
FindFirstPrinterChangeNotification.cppで、

第4引数をNULLにしてオプション無しでも取れるかな。

NULLでもハンドル取れた
NULLでもハンドル取れた

NULLでもハンドル取れた。
Firstがあるわけだから、次はNextでループで繰り返すってことよね。
でもそのままループすると一定時間で抜けられないから、スレッド分けないとダメか。

Sample/winapi/FindFirstPrinterChangeNotification/FFPCN/src/FFPCN at master · bg1bgst333/Sample · GitHub