天天看點

梅舉裝置資訊的DDK函數

函數

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是個無類型指針

ddk
上一篇: DDK Tips