WcsEnumColorProfiles function

The WcsEnumColorProfiles function enumerates all color profiles that satisfy the enumeration criteria in the specified profile management scope.


BOOL WcsEnumColorProfiles(
  _In_      WCS_PROFILE_MANAGEMENT_SCOPE profileManagementScope,
  _In_      PENUMTYPEW                   pEnumRecord,
  _Out_     PBYTE                        pBuffer,
  _In_      DWORD                        dwSize,
  _Out_opt_ PDWORD                       pnProfiles


profileManagementScope [in]

A WCS_PROFILE_MANAGEMENT_SCOPE value that specifies the scope of this profile management operation.

pEnumRecord [in]

A pointer to a structure that specifies the enumeration criteria.

pBuffer [out]

A pointer to a buffer in which the profile names are to be enumerated. A MULTI_SZ string that consists of profile names that satisfy the criteria specified in *pEnumRecord will be placed in this buffer.

dwSize [in]

A variable that contains the size, in bytes, of the buffer pointed to by pBuffer. See Remarks.

pnProfiles [out, optional]

An optional pointer to a variable that receives the number of profile names actually copied to the buffer pointed to by pBuffer. Can be NULL if this information is not needed.

If this function succeeds, the return value is TRUE.

If this function fails, the return value is FALSE. For extended error information, call GetLastError (described in the Microsoft Windows SDK documentation).


Use the WcsEnumColorProfilesSize function to obtain the value for the dwSize parameter, which is the size, in bytes, of the buffer pointed to by the pBuffer parameter.

If the profileManagementScope parameter is WCS_PROFILE_MANAGEMENT_SCOPE_SYSTEM_WIDE, only system-wide associations of profiles to the device are considered. If profileManagementScope is WCS_PROFILE_MANAGEMENT_SCOPE_CURRENT_USER, only per-user associations for the current user are considered. If either WcsSetUsePerUserProfiles has never been called for this user, or WcsSetUsePerUserProfiles was most recently called for this user with its usePerUserProfiles parameter set to FALSE, then WCSEnumColorProfiles returns an empty list.

If WCS_PROFILE_MANAGEMENT_SCOPE_CURRENT_USER, the current user setting, is present, it overrides the system-wide default for the profileManagementScope parameter.

This function is executable in Least-Privileged User Account (LUA) context.


Target platform



Included in Windows Vista and later.







See also




Send comments about this topic to Microsoft