OpenColorProfileA 関数 (icm.h)
指定したカラー プロファイルへのハンドルを作成します。 その後、ハンドルを他のプロファイル管理機能で使用できます。
構文
HPROFILE OpenColorProfileA(
PPROFILE pProfile,
DWORD dwDesiredAccess,
DWORD dwShareMode,
DWORD dwCreationMode
);
パラメーター
pProfile
プロファイルを指定するカラー プロファイル構造へのポインター。 pProfile ポインターは、ハンドルが作成されるとすぐに解放できます。
dwDesiredAccess
指定されたプロファイルにアクセスする方法を指定します。 このパラメーターは、次の定数値のいずれかを受け取る必要があります。
値 | 説明 |
---|---|
|
読み取りアクセス用のプロファイルを開きます。 |
|
読み取りアクセスと書き込みアクセスの両方のプロファイルを開きます。 WCS XML プロファイルには影響しません。 |
dwShareMode
プロファイルがファイルに含まれている場合に、プロファイルを共有する方法を指定します。 値が 0 の場合、プロファイルがまったく共有されなくなります。 パラメーターには、次の定数の一方または両方を含めることができます (加算または論理 OR で組み合わされます)。
値 | 説明 |
---|---|
|
その他のオープン操作は、読み取りアクセスのためにプロファイルに対して実行できます。 |
|
その他のオープン操作は、書き込みアクセスのためにプロファイルに対して実行できます。 WCS XML プロファイルには影響しません。 |
dwCreationMode
ファイルに含まれている場合にプロファイルを開くときに実行するアクションを指定します。 このパラメーターは、次のいずれかの定数値を受け取る必要があります。
値 | 説明 |
---|---|
|
新しいプロファイルを作成します。 プロファイルが既に存在する場合は失敗します。 |
|
新しいプロファイルを作成します。 プロファイルが存在する場合は上書きします。 |
|
プロファイルを開きます。 存在しない場合は失敗する |
|
プロファイルが存在する場合は開きます。 ICC プロファイルの場合、プロファイルが存在しない場合は、プロファイルを作成します。 WCS XML プロファイルの場合、プロファイルが存在しない場合はエラーが返されます。 |
|
プロファイルを開き、0 バイトに切り捨てて、空の ICC プロファイルを返します。 プロファイルが存在しない場合は失敗します。 |
戻り値
この関数が成功した場合、戻り値は開かれたカラー プロファイルのハンドルです。 ICC および WCS プロファイルの場合、レジストリの現在の既定の CAMP と GMMP に基づいて、CAMP と GMMP が関数によって提供されます。
OpenColorProfile は、WCS プロファイルが埋め込まれた ICC プロファイルを検出し、Profile 構造体内の dwType メンバーが値DONT_USE_EMBEDDED_WCS_PROFILESを受け取らない場合は、この WcsProfilesTag に含まれる WCS プロファイルを抽出して使用する必要があります。 返される HPROFILE は WCS HPROFILE になります。
この関数が失敗した場合、戻り値は NULL です。 拡張エラー情報については、 GetLastError を呼び出します。
解説
プロファイル データがファイル名を使用して指定されていない場合、 dwShareMode と dwCreationMode は無視されます。
dwCreationMode フラグ CREATE_NEW、CREATE_ALWAYS、およびTRUNCATE_EXISTINGは、常に空白の ICC HPROFILEs を返します。 他 の dwCreationMode フラグが存在する場合は、プロファイルが ICC か WCS XML かを判断するために、InternalOpenColorProfile が呼び出されます (API によって提供されるフラグを使用)。
ICC コード・パス内では、上記の表で指定されているように、要求された共有、アクセス、および作成フラグを使用して ICC HPROFILE が戻されます。
WCS パス内では、プロファイルが存在しない場合、 dwCreationMode フラグ OPEN_ALWAYSは失敗します。WCS プロファイルは WCS アーキテクチャ内で作成または編集できないためです (MSXML6 を使用して外部で編集する必要があります)。 同じ理由から、 dwShareMode フラグFILE_SHARE_WRITE、 および dwDesiredAccess フラグ PROFILE_READWRITEは WCS パス内では無視されます。
関数が ICC プロファイルを開くと、 WcsProfilesTag を検索し、存在する場合は、そこに含まれる元の WCS プロファイルを抽出して使用します。 ( 「WcsCreateIccProfile」を参照してください)。
WCS プロファイル情報を含む HPROFILE は、レジストリから既定の CAMP と既定の GMMP を取得することによって DMP から派生します。 HPROFILE は、DMP、CAMP、GMMP の構成です。
カラー プロファイルのハンドルが作成されたら、そのハンドルの作成に使用された情報を削除できます。
OpenColorProfile によって返されるオブジェクト ハンドルを閉じるには、CloseColorProfile 関数を使用します。
要件
サポートされている最小のクライアント | Windows 2000 Professional [デスクトップ アプリのみ] |
サポートされている最小のサーバー | Windows 2000 Server [デスクトップ アプリのみ] |
Header | icm.h |
Library | Mscms.lib |
[DLL] | Mscms.dll |