SetupDiGetClassDevs函式詳解

2021-09-11 14:37:23 字數 1553 閱讀 4788

setupdigetclassdevs函式返回乙個包含本機上所有被請求的裝置資訊的裝置資訊集控制代碼。

//c++:

hdevinfo setupdigetclassdevs(

_in_opt_ const guid *classguid,

_in_opt_ pctstr enumerator,

_in_opt_ hwnd hwndparent,

_in_ dword flags

);

classguid[輸入引數,可選的]

乙個指向guid的指標,此guid可標識乙個裝置安裝類或乙個裝置介面類。這個指標是可選的,並且可以為null。更多關於classguid賦值問題,請參考備註部分。

enumerator[輸入引數,可選的]

乙個指向以空字元結束的字串的指標,指定了:

hwndparent[輸入引數,可選的]

用於與在裝置資訊集中安裝裝置例項相關聯的使用者介面的頂級視窗控制代碼。該控制代碼是可選的,並且可以為null。

flags[輸入引數]digcf_allclasses 

返回所有已安裝裝置的列表或所有裝置介面類。

digcf_deviceinte***ce 

返回支援指定裝置介面類的裝置。如果enumerators引數制定了裝置的例項id,那麼必須在flags引數中設定此標誌位。

digcf_default 

對於指定的裝置介面類,只返回與系統預設裝置介面相關聯的裝置(如果已設定的話)。

digcf_present 

只返回當前系統中存在的(已連線)裝置。

digcf_profile 

只返回當前硬體列表中的一部分裝置。

如果呼叫成功,setupdigetclassdevs將返回乙個裝置資訊集的控制代碼,該控制代碼包含了與所提供引數所匹配的所有裝置。如果呼叫失敗,函式返回invalid_handle_value。要進一步獲取錯誤資訊,請呼叫getlasterror

當呼叫完此函式並處理完相應資料後,必須呼叫setupdidestroydeviceinfolist函。

呼叫setupdigetclassdev***來檢索遠端計算機上的裝置。

裝置安裝類控制選項

使用以下過濾選項來控制setupdigetclassdevs是否返回所有裝置:

此外,還可以通過下面的組合來進一步控制裝置的過濾條件:

裝置介面類控制選項

使用以下過濾選項來控制setupdigetclassdevs是否返回支援任何裝置介面類的裝置或僅返回支援指定裝置介面類的裝置:

ngx process options函式詳解

ngx process options是初始化init cycle中的一些如 conf file,prefix,conf prefix等字段的功能,其方法的定義在src core nginx.c中,以下為詳細 主要功能是將ngx prefix,配置檔案的位置資訊,以及命令列引數的資訊初始化到cycl...

linux clock gettime函式詳解

注意 1.精確級別,納秒級別 原型long sys clock gettime clockid t which clock,struct timespec tp which clock引數解釋 clock realtime 系統實時時間,隨系統實時時間改變而改變,即從utc1970 1 1 0 0 ...

遞迴函式(詳例)

從函式棧的角度的運用 簡單的列印運用 includevoid function int n int main void function int n return 非空鍊錶的遞迴找最大值 lim findmax lim headptr 為了更好的理解遞迴的執行過程 在呼叫自生到最後時,if head...