簡體   English   中英

Windows USB設備在C \\ C ++中的刷新

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM