OpenColorProfileW 函式 (icm.h)
建立指定色彩設定檔的控制碼。 然後,控制碼可以用於其他設定檔管理功能。
語法
HPROFILE OpenColorProfileW(
PPROFILE pProfile,
DWORD dwDesiredAccess,
DWORD dwShareMode,
DWORD dwCreationMode
);
參數
pProfile
指定設定檔之色彩設定檔結構的指標。 pProfile指標可以在建立控制碼後立即釋放。
dwDesiredAccess
指定如何存取指定的設定檔。 此參數必須採用下列其中一個常數值。
值 | 意義 |
---|---|
|
開啟設定檔以供讀取存取。 |
|
開啟讀取和寫入存取權的設定檔。 對 WCS XML 設定檔沒有任何作用。 |
dwShareMode
指定設定檔是否應該共用,如果設定檔包含在檔案中。 值為零會防止設定檔完全共用。 參數可以包含下列其中一個或兩個常數, (加法或邏輯 OR) 結合。
值 | 意義 |
---|---|
|
您可以在設定檔上執行其他開啟作業,以進行讀取存取。 |
|
您可以在設定檔上執行其他開啟作業,以便進行寫入存取。 對 WCS XML 設定檔沒有任何作用。 |
dwCreationMode
指定要在開啟設定檔時對設定檔採取的動作,如果檔案包含在檔案中。 此參數必須採用下列其中一個常數值。
值 | 意義 |
---|---|
|
建立新的設定檔。 如果設定檔已經存在,就會失敗。 |
|
建立新的設定檔。 如果設定檔存在,則會覆寫該設定檔。 |
|
開啟設定檔。 如果不存在,則失敗 |
|
如果設定檔存在,請開啟該設定檔。 若為 ICC 設定檔,如果設定檔不存在,請建立設定檔。 若為 WCS XML 設定檔,如果設定檔不存在,則傳回錯誤。 |
|
開啟設定檔,並將它截斷為零個位元組,並傳回空白的 ICC 設定檔。 如果設定檔不存在,就會失敗。 |
傳回值
如果此函式成功,則傳回值是開啟之色彩設定檔的控制碼。 針對 ICC 和 WCS 設定檔,此函式會根據登錄中的目前預設 CAMP 和 GMMP 來提供 CAMP 和 GMMP。
當 OpenColorProfile 遇到內嵌 WCS 設定檔的 ICC 設定檔,而且如果 Profile 結構內的 dwType 成員不接受值DONT_USE_EMBEDDED_WCS_PROFILES,它應該擷取並使用 WCS 設定檔 (此 WcsProfilesTag 中包含的) 。 傳回的 HPROFILE 會是 WCS HPROFILE。
如果此函式失敗,則傳回值為 Null。 如需擴充錯誤資訊,請呼叫 GetLastError。
備註
如果未使用檔案名指定設定檔資料, 則會忽略 dwShareMode 和 dwCreationMode 。
dwCreationMode 旗標CREATE_NEW、CREATE_ALWAYS和TRUNCATE_EXISTING一律會傳回空白的 ICC HPROFILEs。 如果存在其他 dwCreationMode 旗標,則會使用 API 所提供的旗標來呼叫 InternalOpenColorProfile) (,以判斷設定檔是否為 ICC 或 WCS XML。
在 ICC 程式碼路徑中,會使用上述表格中指定的要求共用、存取和建立旗標,傳回 ICC HPROFILE。
在 WCS 路徑內,如果設定檔不存在, dwCreationMode 旗標OPEN_ALWAYS將會失敗,因為無法在 WCS 架構中建立或編輯 WCS 設定檔, (必須使用 MSXML6) 編輯它們。 基於相同原因,WCS 路徑內會忽略 dwShareMode 旗標FILE_SHARE_WRITE,而 dwDesiredAccess 旗標PROFILE_READWRITE。
當函式開啟 ICC 設定檔時,它會尋找 WcsProfilesTag ,如果有的話,它會擷取並使用其中所包含的原始 WCS 設定檔。 (請參閱 WcsCreateIccProfile.)
具有 WCS 設定檔資訊的 HPROFILE 衍生自 DMP,方法是從登錄取得預設 CAMP 和預設 GMMP。 HPROFILE 是 DMP、CAMP 和 GMMP 的組合。
建立色彩設定檔的控制碼之後,即可刪除用來建立該控制碼的任何資訊。
使用 CloseColorProfile 函式關閉 OpenColorProfile所傳回的物件控制碼。
需求
最低支援的用戶端 | Windows 2000 專業版 [僅限傳統型應用程式] |
最低支援的伺服器 | Windows 2000 Server [僅限傳統型應用程式] |
標頭 | icm.h |
程式庫 | Mscms.lib |
Dll | Mscms.dll |