SetupDiBuildClassInfoList

BOOLEAN
    SetupDiBuildClassInfoList(
        IN DWORD  Flags,
        OUT LPGUID  ClassGuidList,
        IN DWORD  ClassGuidListSize,
        OUT PDWORD  RequiredSize
        );

SetupDiBuildClassInfoList returns a list of class GUIDs that includes every class installed on the system.

Parameters
Flags
Flags used to control exclusion of classes from the list. If no flags are specified, all classes are included in the list. Can be a combination of the following values:
DIBCI_NOINSTALLCLASS
Exclude a class if it has the NoInstallClass value entry in its registry key.
DIBCI_NODISPLAYCLASS
Exclude a class if it has the NoDisplayClass value entry in its registry key.
ClassGuidList
Supplies a pointer to a buffer that receives a list of class GUIDs.
ClassGuidListSize
Supplies the number of GUIDs in the ClassGuildList array.
RequiredSize
Supplies a pointer to a variable that receives the number of GUIDs returned. If this number is greater than the size of the ClassGuidList, the number indicates how large the ClassGuidList array must be in order to contain the list.
Return Value

The function returns TRUE if it is successful. Otherwise it returns FALSE and the logged error can be retrieved with a call to GetLastError.

See Also

SetupDiGetClassDescription, SetupDiGetINFClass