函數
HDEVINFO
SetupDiGetClassDevs
(
const GUID* ClassGuid,
PCTSTR Enumerator,
HWND hwndParent,
DWORD Flags
);
參數說明
輸入參數:
PGUID ClassGuid
在建立裝置清單的時候提供一個指向GUID的指針。如果設定了标志DIGCF_ALLCLASSES,則這個參數可以忽略,且清單結果中包括所有已經安裝的裝置類别。
PCTSTR Enumerator
提供包含裝置執行個體的枚舉系統資料庫分支下的鍵名,可以通過它擷取裝置資訊。如果這個參數沒有指定,則要從整個枚舉樹中擷取所有裝置執行個體的裝置資訊。
HWND hwndParent
提供頂級視窗的句柄,所有使用者接口可以使用它來與成員聯系。
DWORD Flags
提供在裝置資訊結構中使用的控制選項。可以是以下數值:
DIGCF_PRESENT - 隻傳回目前存在的裝置。
DIGCF_ALLCLASSES - 傳回所有已安裝的裝置。如果這個标志設定了,ClassGuid參數将被忽略。
DIGCF_PROFILE - 隻傳回目前硬體配置檔案中的裝置。
傳回值
HDEVINFO
如果函數運作成功,傳回裝置資訊結構的句柄,該結構包含與指定參數比對的所有已安裝裝置。如果失敗,則傳回INVALID_HANDLE_VALUE。調用GetLastError可以獲得更多錯誤資訊。
說明
使用此函數,需要包含頭檔案setupapi.h。
此外,在project setting中的link頁面需要添加setupapi.lib。
在setuapi.h中有如下定義:
typedef PVOID HDEVINFO;
即HDEVINFO是個無類型指針