[英]Windows USB device refresh in C\C++
我試圖找到一種實用的方法來重新枚舉連接到PC的USB端口的USB設備。
在Windows中,可以打開“設備管理器”,然后右鍵單擊PC名稱並選擇“掃描硬件更改”。
如何從C / C ++程序執行此命令(或類似的操作,但特定於USB總線)?
您可以在項目中使用cfgmgr32.lib
庫。 這很容易。 如果您不知道如何使用它,可以再次詢問我。
BOOL ScanForHardwareChanges()
{
DEVINST devInst;
CONFIGRET status;
//
// Get the root devnode.
//
status = CM_Locate_DevNode(&devInst, NULL, CM_LOCATE_DEVNODE_NORMAL);
if (status != CR_SUCCESS) {
printf("CM_Locate_DevNode failed: %x\n", status);
return FALSE;
}
status = CM_Reenumerate_DevNode(devInst, 0);
if (status != CR_SUCCESS) {
printf("CM_Reenumerate_DevNode failed: %x\n", status);
return FALSE;
}
return TRUE;
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.