SetupDiBuildClassInfoList 函式 (setupapi.h)

SetupDiBuildClassInfoList 函式會傳回設定類別 GUID 的清單,以識別安裝在本機電腦上的類別。

語法

WINSETUPAPI BOOL SetupDiBuildClassInfoList(
  [in]            DWORD  Flags,
  [out, optional] LPGUID ClassGuidList,
  [in]            DWORD  ClassGuidListSize,
  [out]           PDWORD RequiredSize
);

參數

[in] Flags

用來控制清單中類別排除的旗標。 如果未指定旗標,所有安裝類別都會包含在清單中。 可以是下列值的組合:

DIBCI_NOINSTALLCLASS

如果類別在其登錄機碼中有 NoInstallClass 值專案,請排除類別。

DIBCI_NODISPLAYCLASS

如果類別在其登錄機碼中有 NoDisplayClass 值專案,請排除類別。

[out, optional] ClassGuidList

GUID 型別數位列的指標,可接收安裝類別 GUID 的清單。 此指標是選擇性的,可以是 NULL。

[in] ClassGuidListSize

ClassGuildList 參數所指向之陣列中的 GUID 數目。 如果 ClassGuidList 為 NULL,ClassGuidSize 必須為零。

[out] RequiredSize

DWORD 型別變數的指標,如果數位小於或等於 ClassGuidList 參數所指向之陣列的大小,則傳回的 GUID 數目會) (。

如果這個數位大於 ClassGuidList 陣列的大小,它會指出 ClassGuidList 陣列必須有多大,才能包含所有類別 GUID。

傳回值

如果函式成功,函式會傳回 TRUE 。 否則,它會傳回 FALSE ,而且可以藉由呼叫 GetLastError 來擷取記錄的錯誤。

備註

若要擷取安裝在本機計算機上的類別數目,請呼叫 SetupDiBuildClassInfoList ,並將 ClassGuidList 設定為 NULL ,而 ClassGuidSize 設定為零。 為了回應這類呼叫,函式會傳回 RequiredSize 中的*類別數目。

如果 NoUseClass 值專案存在於 類別的登錄機碼中,SetupDiBuildClassInfoList 不會傳回類別的類別 GUID。

若要擷取安裝在遠端系統上的安裝程序類別 GUID 清單,請使用 SetupDiBuildClassInfoListEx。

規格需求

需求 值
最低支援的用戶端 可在 Microsoft Windows 2000 和更新版本的 Windows 中使用。
目標平台 桌面
標頭 setupapi.h (包括 Setupapi.h)
程式庫 Setupapi.lib
Dll Setupapi.dll

另請參閱

SetupDiBuildClassInfoListEx

SetupDiGetClassDescription

SetupDiGetINFClass