共用方式為


OpenColorProfileW 函式 (icm.h)

建立指定色彩設定檔的控制碼。 然後,控制碼可以用於其他設定檔管理功能。

語法

HPROFILE OpenColorProfileW(
  PPROFILE pProfile,
  DWORD    dwDesiredAccess,
  DWORD    dwShareMode,
  DWORD    dwCreationMode
);

參數

pProfile

指定設定檔之色彩設定檔結構的指標。 pProfile指標可以在建立控制碼後立即釋放。

dwDesiredAccess

指定如何存取指定的設定檔。 此參數必須採用下列其中一個常數值。

意義
PROFILE_READ
開啟設定檔以供讀取存取。
PROFILE_READWRITE
開啟讀取和寫入存取權的設定檔。 對 WCS XML 設定檔沒有任何作用。

dwShareMode

指定設定檔是否應該共用,如果設定檔包含在檔案中。 值為零會防止設定檔完全共用。 參數可以包含下列其中一個或兩個常數, (加法或邏輯 OR) 結合。

意義
FILE_SHARE_READ
您可以在設定檔上執行其他開啟作業,以進行讀取存取。
FILE_SHARE_WRITE
您可以在設定檔上執行其他開啟作業,以便進行寫入存取。 對 WCS XML 設定檔沒有任何作用。

dwCreationMode

指定要在開啟設定檔時對設定檔採取的動作,如果檔案包含在檔案中。 此參數必須採用下列其中一個常數值。

意義
CREATE_NEW
建立新的設定檔。 如果設定檔已經存在,就會失敗。
CREATE_ALWAYS
建立新的設定檔。 如果設定檔存在,則會覆寫該設定檔。
OPEN_EXISTING
開啟設定檔。 如果不存在,則失敗
OPEN_ALWAYS
如果設定檔存在,請開啟該設定檔。 若為 ICC 設定檔,如果設定檔不存在,請建立設定檔。 若為 WCS XML 設定檔,如果設定檔不存在,則傳回錯誤。
TRUNCATE_EXISTING
開啟設定檔,並將它截斷為零個位元組,並傳回空白的 ICC 設定檔。 如果設定檔不存在,就會失敗。

傳回值

如果此函式成功,則傳回值是開啟之色彩設定檔的控制碼。 針對 ICC 和 WCS 設定檔,此函式會根據登錄中的目前預設 CAMP 和 GMMP 來提供 CAMP 和 GMMP。

當 OpenColorProfile 遇到內嵌 WCS 設定檔的 ICC 設定檔,而且如果 Profile 結構內的 dwType 成員不接受值DONT_USE_EMBEDDED_WCS_PROFILES,它應該擷取並使用 WCS 設定檔 (此 WcsProfilesTag 中包含的) 。 傳回的 HPROFILE 會是 WCS HPROFILE。

如果此函式失敗,則傳回值為 Null。 如需擴充錯誤資訊,請呼叫 GetLastError

備註

如果未使用檔案名指定設定檔資料, 則會忽略 dwShareModedwCreationMode

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

另請參閱