方法一:
#include #include#include
#include
#include
#include
#pragma comment(lib, "setupapi.lib")
#define bufsize 1024
#define sm_serverr 289
intmain()
//enumerate through all devices in set.
deviceinfodata.cbsize = sizeof
(sp_devinfo_data);
for (i = 0; setupdienumdeviceinfo(hdevinfo, i, &deviceinfodata); i++)
else
}if (buffer !=null)
if(buffer)
}if ( getlasterror() != no_error && getlasterror() !=error_no_more_items )
//cleanup
setupdidestroydeviceinfolist(hdevinfo);
return0;
}
方法二:
/*函式名 : getserialportsreg
* 說 明 : 通過登錄檔列舉系統串列埠數量,並列出所有串列埠的系統名
** 參 數 : pliststr, 串列埠名稱列表
* 返回值 : int, 系統串列埠個數
*/int getserialportsreg(char (*pliststr)[80
])
int i = 0
; char name[
25] = ;
uchar szportname[
80] = ;
long status;
dword dwindex = 0
; dword dwname;
dword dwsizeofportname;
dword type;
dwname = sizeof
(name);
dwsizeofportname = sizeof
(szportname);
do i++;}}
while((status == error_success)||(status ==error_more_data));
regclosekey(hkey);
return
i;}
系統裝置的列舉(DirectShow)
directshow 對系統中不可預知性硬體提供了良好的支援,其方法是使用系統列舉,系統列舉的一般過程如下所示 1 使用cocreateinstance函式建立系統列舉器組建物件 clsid為clsid systemdeviceenum 並獲得icreatedevenum介面 2 使用介面方法icr...
C 實現Windows系統裝置列舉
1.列舉系統裝置 hdevinfo hdevinfo sp devinfo data deviceinfodata dword dwdevid 得到所有裝置 hdevinfo hdevinfo setupdigetclassdevs null,0,0,digcf present digcf allc...
列舉裝置棧
hello.h pragma once include define countarray array sizeof array sizeof array 0 typedef struct device extension device extension,pdevice extension ifd...