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,此參數應該設定為零。

[in] pvDestProfile

目的地配置檔記憶體對應的指標。

[in] cjDestProfile

指定目的地配置檔記憶體對應的大小,以位元組為單位。

[in, optional] pvTargetProfile

目標配置檔記憶體對應的指標。 此參數可以是 Null

[in] cjTargetProfile

指定目標配置檔記憶體對應的大小,以位元組為單位。 如果 pvTargetProfileNULL,此參數應該設定為零。

[in] dwReserved

應該設定為零的保留參數。

傳回值

DrvIcmCreateColorTransform 會在成功時傳回所建立轉換的句柄。 否則,它會報告錯誤並傳回 NULL

備註

驅動程式會從設定檔數據建立色彩轉換,如下所示:

  • 驅動程序應該使用 pvSourceProfile 在不是 NULL 時指向的來源配置檔。 否則,驅動程式應該使用 pLogColorSpace 指向來源色彩空間資訊之結構中的數據。
  • 當驅動程式收到目的地配置檔,但沒有目標配置檔時,它應該儲存將數據從指定的來源色彩空間轉換成指定的目的地色彩空間。
  • 當驅動程式同時收到目的地和目標配置檔時,它應該儲存將數據從指定的來源色彩空間轉換成指定的目標色彩空間,以及將目標色彩空間轉換回目的地色彩空間所需的數據。 在此案例中,驅動程式的裝置是可以證明影像的目的地裝置。 然後,驅動程式必須能夠將校訂影像的色彩空間轉換成目標裝置的色彩空間。
不論是否已指定目標配置檔,驅動程式的裝置一律是目的地裝置。

提供的配置檔會遵守 ICC 設定檔格式的 2.10 版。 如果驅動程式無法瞭解指定的格式,它應該會失敗呼叫。

驅動程式可以安全地存取每個配置檔的整個記憶體對應。 pvSourceProfilepvDestProfilepvTargetProfile 指標只有在呼叫 DrvIcmCreateTransform 的範圍期間才有效。

回報ICM支援的驅動程序應該實作此函式。 驅動程式會在 DEVINFO 結構的 flGraphicsCaps 成員中設定 GCAPS_ICM 旗標,以指出 ICM 的支援。

規格需求

需求
目標平台 桌面
標頭 winddi.h (包含Winddi.h)

另請參閱

DrvIcmDeleteColorTransform