SetupDiGetClassDevs

SetupDiGetClassDevs

SetupDiGetClassDevs是一個返回值為HDEVINFO的函式。

基本介紹

  • 中文名:SetupDiGetClassDevs
  • 函式定義:HDEVINFO
  • 參數說明:PGUIDClassGuid
  • 返回值:HDEVINFO
函式定義,參數說明,返回值,說明,舉例,

函式定義

HDEVINFO
SetupDiGetClassDevs(
const GUID* ClassGuid,
PCTSTR Enumerator,
HWND hwndParent,
DWORD Flags
);

參數說明

輸入參數:
PGUIDClassGuid
在創建設備列表的時候提供一個指向GUID指針。如果設定了標誌(參數Flags的值)為DIGCF_ALLCLASSES,則這個參數可以忽略,且列表結果中包括所有已經安裝的設備類別。
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 );

相關詞條

熱門詞條

聯絡我們