DrvIcmCreateColorTransform 関数 (winddi.h)

DrvIcmCreateColorTransform 関数は、ICM カラー変換を作成します。

構文

HANDLE DrvIcmCreateColorTransform(
  [in]           DHPDEV           dhpdev,
  [in]           LPLOGCOLORSPACEW pLogColorSpace,
  [in, optional] PVOID            pvSourceProfile,
  [in]           ULONG            cjSourceProfile,
  [in]           PVOID            pvDestProfile,
  [in]           ULONG            cjDestProfile,
  [in, optional] PVOID            pvTargetProfile,
  [in]           ULONG            cjTargetProfile,
  [in]           DWORD            dwReserved
);

パラメーター

[in] dhpdev

物理デバイスの PDEV を処理します。

[in] pLogColorSpace

論理色空間構造体へのポインター。 LOGCOLORSPACEW 構造体は、Microsoft Windows SDKドキュメントで定義されています。 pvSourceProfileNULL の場合、ドライバーはこの構造体からソースの色空間情報を取得する必要があります。

[in, optional] pvSourceProfile

ソース プロファイルのメモリ マップへのポインター。 このパラメーターは、NULL でもかまいません。

[in] cjSourceProfile

ソース プロファイルメモリマップのサイズをバイト単位で指定します。 pvSourceProfileNULL の場合、このパラメーターは 0 に設定する必要があります。

[in] pvDestProfile

宛先プロファイルのメモリ マップへのポインター。

[in] cjDestProfile

宛先プロファイルのメモリ マップのサイズをバイト単位で指定します。

[in, optional] pvTargetProfile

ターゲット プロファイルのメモリ マップへのポインター。 このパラメーターは、NULL でもかまいません。

[in] cjTargetProfile

ターゲット プロファイル メモリ マップのサイズをバイト単位で指定します。 pvTargetProfileNULL の場合、このパラメーターは 0 に設定する必要があります。

[in] dwReserved

0 に設定する必要がある予約済みパラメーター。

戻り値

DrvIcmCreateColorTransform は、成功した場合に作成された変換へのハンドルを返します。 それ以外の場合は、エラーを報告し、 NULL を返します。

注釈

ドライバーは、次のようにプロファイル データから色変換を作成します。

  • ドライバーでは、 pvSourceProfile が指すソース プロファイルが NULL でない場合に使用する必要があります。 それ以外の場合、ドライバーは、ソースの色空間情報に pLogColorSpace がポイントする構造体のデータを使用する必要があります。
  • ドライバーは、ターゲット プロファイルを受け取るが、ターゲット プロファイルを受け取っていない場合は、指定したソースの色空間から指定した変換先の色空間に色を変換するために必要なデータを格納する必要があります。
  • ドライバーは、宛先プロファイルとターゲット プロファイルの両方を受け取ると、指定したソースの色空間から指定されたターゲットの色空間に色を変換するために必要なデータを格納し、ターゲットの色空間から変換先の色空間に戻す必要があります。 このシナリオでは、ドライバーのデバイスは、イメージを証明できる宛先デバイスです。 その後、ドライバーは、校正イメージの色空間をターゲット デバイスの色空間に変換できる必要があります。
ターゲット プロファイルが指定されているかどうかに関係なく、ドライバーのデバイスは常に宛先デバイスです。

指定されたプロファイルは、ICC プロファイル形式のバージョン 2.10 に準拠しています。 ドライバーが指定された形式を理解していない場合は、呼び出しに失敗する必要があります。

ドライバーは、各プロファイルのメモリ マップ全体に安全にアクセスできます。 pvSourceProfilepvDestProfileおよび pvTargetProfile ポインターは、DrvIcmCreateTransform の呼び出しのスコープ中にのみ有効です。

ICM のサポートを報告するドライバーは、この関数を実装する必要があります。 ドライバーは、DEVINFO 構造体の flGraphicsCaps メンバーにGCAPS_ICM フラグを設定することで、ICM のサポートを示します。

要件

要件
対象プラットフォーム デスクトップ
Header winddi.h (Winddi.h を含む)

こちらもご覧ください

DrvIcmDeleteColorTransform