SetupDiGetClassDevs是一個返回值為HDEVINFO的函式。
基本介紹
- 中文名:SetupDiGetClassDevs
- 函式定義:HDEVINFO
- 參數說明:PGUIDClassGuid
- 返回值:HDEVINFO
函式定義,參數說明,返回值,說明,舉例,
函式定義
HDEVINFO
SetupDiGetClassDevs(
const GUID* ClassGuid,
PCTSTR Enumerator,
HWND hwndParent,
DWORD Flags
);
參數說明
輸入參數:
PGUIDClassGuid
PCTSTREnumerator
提供包含設備實例的枚舉註冊表分支下的鍵名,可以通過它獲取設備信息。如果這個參數沒有指定,則要從整個枚舉樹中獲取所有設備實例的設備信息。
HWNDhwndParent
提供頂級視窗的句柄,所有用戶接口可以使用它來與成員聯繫。
DWORDFlags
提供在設備信息結構中使用的控制選項。可以是以下數值:
DIGCF_PRESENT - 只返回當前存在的設備。
DIGCF_ALLCLASSES - 返回所有已安裝的設備。如果這個標誌設定了,ClassGuid參數將被忽略。
DIGCF_PROFILE - 只返回當前硬體配置檔案中的設備。
DIGCF_INTERFACEDEVICE - 返回所有支持的設備。
DIGCF_DEFAULT - 只返回與系統默認設備相關的設備。
返回值
HDEVINFO
如果函式運行成功,返回設備信息結構的句柄,該結構包含與指定參數匹配的所有已安裝設備。如果失敗,則返回INVALID_HANDLE_VALUE。調用GetLastError可以獲得更多錯誤信息。
說明
使用此函式,需要包含頭檔案setupapi.h。
此外,在project setting中的link頁面需要添加setupapi.lib。
在setupapi.h中有如下定義:
typedef PVOID HDEVINFO;
即HDEVINFO是個無類型指針
舉例
//得到所有設備
HDEVINFO hDevInfo = SetupDiGetClassDevs(NULL, 0, 0, DIGCF_PRESENT | DIGCF_ALLCLASSES );