2017年11月30日 星期四

找出 non present 的 device

之前介紹過 Setup API 與其使用方式,可以找出系統上的 device 並對其操作,但是它會找出所有曾經被安裝過的 device,包括目前正連在電腦上的與未連接在電腦上的 device,若是想找出目前沒有被連接在電腦上,也就是 non present 的 device,並沒有甚麼簡單的方法可以達成,例如本來想看看 SetupDiGetDeviceRegistryProperty API 能不能查出 device 是不是 non-present,但可惜沒有辦法

Setup API 沒辦法,但是其他 API 可以,後來找到 CM_Get_DevNode_Status 這個 API,可以查詢 devnode 的 status,而 non present 的 device 因為沒有 devnode,所以對 non present 的 device 這個 API 會回 CR_NO_SUCH_DEVNODE,這樣就可以區分出用 Setup API 取得的 device 是不是 non present

沒有留言:

張貼留言