列舉系統裝置

2021-09-07 21:26:42 字數 1354 閱讀 2271

方法一:

#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...