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 數目。 如果 ClassGuidListNULL,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