---
title: CMGetSystemProfile
framework: Application Services
role: pseudoSymbol
platforms: []
path: applicationservices/colorsync_manager/1804926-cmgetsystemprofile
---

# CMGetSystemProfile

Obtains a reference to the current system profile.

## Declaration

```occ
CMError CMGetSystemProfile (
   CMProfileRef *prof
);
```

## Parameters

- `prof`: A pointer to a profile reference of type [doc://com.apple.documentation/documentation/applicationservices/cmprofileref](applicationservices/cmprofileref.md). On return, a reference to the current system profile.

## Return Value

A `CMError` value. See [Result Codes](../colorsync_manager.md).

## Overview

The following functions allow you to pass `NULL` as a parameter value to specify the system profile as a source or destination profile:

- [CMNewProfile](1804911-cmnewprofile.md)
- [NCWNewColorWorld](1805079-ncwnewcolorworld.md)
- [NCMBeginMatching](1805216-ncmbeginmatching.md)
- [NCMDrawMatchedPicture](1805223-ncmdrawmatchedpicture.md)

Note that instead of passing `NULL`, you can pass a profile reference to a specific profile, including the system profile.

If you want to specify the system profile for any other function that requires a profile reference, such as [CWConcatColorWorld](1805087-cwconcatcolorworld.md) and [CWNewLinkProfile](1804915-cwnewlinkprofile.md), you must use an explicit reference. You can obtain such a reference with the `CMGetSystemProfile` function.

There are other reasons you might need to obtain a reference to the current system profile. For example, your application might need to display the name of the current system profile to a user.

To identify the location of the physical file, call the function [CMGetProfileLocation](1804885-cmgetprofilelocation.md).

When your application has finished using the current system profile, it must close the reference to the profile by calling the function [CMCloseProfile](1804861-cmcloseprofile.md). 

### Version-Notes

Starting with version 2.5, use of the system profile has changed. So rather than call `CMGetSystemProfile` to obtain a reference to the system profile, you may be able to obtain a profile that is more appropriate for the current operation by calling [CMGetDefaultProfileBySpace](1804940-cmgetdefaultprofilebyspace.md) to get the default profile for a color space or by calling [CMGetProfileByAVID](1804955-cmgetprofilebyavid.md) to get the profile for a specific display.

## See Also

### Accessing Special Profiles

- [CMSetSystemProfile](1804932-cmsetsystemprofile.md)
- [NCMSetSystemProfile](1804936-ncmsetsystemprofile.md)
- [CMGetDefaultProfileBySpace](1804940-cmgetdefaultprofilebyspace.md)
- [CMSetDefaultProfileBySpace](1804944-cmsetdefaultprofilebyspace.md)
- [CMGetDefaultProfileByUse](1804948-cmgetdefaultprofilebyuse.md)
- [CMSetDefaultProfileByUse](1804951-cmsetdefaultprofilebyuse.md)
- [CMGetProfileByAVID](1804955-cmgetprofilebyavid.md)
- [CMSetProfileByAVID](1804959-cmsetprofilebyavid.md)
