次の方法で共有


OpenColorProfileW 関数 (icm.h)

指定したカラー プロファイルへのハンドルを作成します。 その後、ハンドルを他のプロファイル管理機能で使用できます。

構文

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

パラメーター

pProfile

プロファイルを指定するカラー プロファイル構造へのポインター。 pProfile ポインターは、ハンドルが作成されるとすぐに解放できます。

dwDesiredAccess

指定されたプロファイルにアクセスする方法を指定します。 このパラメーターは、次の定数値のいずれかを受け取る必要があります。

説明
PROFILE_READ
読み取りアクセス用のプロファイルを開きます。
PROFILE_READWRITE
読み取りアクセスと書き込みアクセスの両方のプロファイルを開きます。 WCS XML プロファイルには影響しません。

dwShareMode

プロファイルがファイルに含まれている場合にプロファイルを共有する方法を指定します。 値が 0 の場合、プロファイルがまったく共有されなくなります。 パラメーターには、次の定数の一方または両方を含めることができます (加算または論理 OR で組み合わされます)。

説明
FILE_SHARE_READ
その他のオープン操作は、読み取りアクセスのためにプロファイルに対して実行できます。
FILE_SHARE_WRITE
その他のオープン操作は、書き込みアクセスのためにプロファイルで実行できます。 WCS XML プロファイルには影響しません。

dwCreationMode

ファイルに含まれている場合にプロファイルを開くときに実行するアクションを指定します。 このパラメーターは、次のいずれかの定数値を受け取る必要があります。

説明
CREATE_NEW
新しいプロファイルを作成します。 プロファイルが既に存在する場合は失敗します。
CREATE_ALWAYS
新しいプロファイルを作成します。 プロファイルが存在する場合は上書きします。
OPEN_EXISTING
プロファイルを開きます。 存在しない場合は失敗する
OPEN_ALWAYS
プロファイルが存在する場合は開きます。 ICC プロファイルの場合、プロファイルが存在しない場合は、プロファイルが作成されます。 WCS XML プロファイルの場合、プロファイルが存在しない場合、エラーが返されます。
TRUNCATE_EXISTING
プロファイルを開き、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 を呼び出します。

解説

ファイル名を使用してプロファイル データが指定されていない場合、 dwShareModedwCreationMode は無視されます。

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 の構成です。

カラー プロファイルへのハンドルが作成されると、そのハンドルの作成に使用される情報はすべて削除できます。

CloseColorProfile 関数を使用して、OpenColorProfile によって返されるオブジェクト ハンドルを閉じます。

要件

   
サポートされている最小のクライアント Windows 2000 Professional [デスクトップ アプリのみ]
サポートされている最小のサーバー Windows 2000 Server [デスクトップ アプリのみ]
Header icm.h
Library Mscms.lib
[DLL] Mscms.dll

関連項目