SetupDiGetHwProfileList

BOOLEAN
    SetupDiGetHwProfileList
        OUT PDWORD  HwProfileList,
        IN DWORD  HwProfileListSize,
        OUT PDWORD  RequiredSize,
        OUT PDWORD  CurrentlyActiveIndex    /* optional */
        );

SetupDiGetHwProfileList retrieves a list of all currently defined hardware profile IDs.

Parameters
HwProfileList
Supplies a pointer to an array to receive the list of currently defined hardware profile IDs.
HwProfileListSize
Supplies the size, in bytes, of the HwProfileList buffer.
RequiredSize
Supplies a pointer to a variable that receives the number of hardware profiles currently defined. If the number is larger than HwProfileListSize, the list is truncated to fit the array size. The value returned in RequiredSize indicates the array size required to store the entire list of hardware profiles. In this case, the function fails and a call to GetLastError returns ERROR_INSUFFICIENT_BUFFER.
CurrentlyActiveIndex
Supplies a pointer to a variable that receives the index within the returned HwProfileList of the currently active hardware profile.
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

SetupDiCreateDevRegKey, SetupDiOpenDevRegKey