Compartir a través de


Función DrvIcmCreateColorTransform (winddi.h)

La función DrvIcmCreateColorTransform crea una transformación de color ICM.

Sintaxis

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
);

Parámetros

[in] dhpdev

Controle el PDEV del dispositivo físico.

[in] pLogColorSpace

Puntero a una estructura de espacio de color lógico. La estructura LOGCOLORSPACEW se define en la documentación de Microsoft Windows SDK. El controlador debe obtener información de espacio de color de origen de esta estructura cuando pvSourceProfile es NULL.

[in, optional] pvSourceProfile

Puntero al mapa de memoria del perfil de origen. Este parámetro puede ser NULL.

[in] cjSourceProfile

Especifica el tamaño, en bytes, del mapa de memoria del perfil de origen. Si pvSourceProfile es NULL, este parámetro debe establecerse en cero.

[in] pvDestProfile

Puntero al mapa de memoria del perfil de destino.

[in] cjDestProfile

Especifica el tamaño, en bytes, del mapa de memoria del perfil de destino.

[in, optional] pvTargetProfile

Puntero al mapa de memoria del perfil de destino. Este parámetro puede ser NULL.

[in] cjTargetProfile

Especifica el tamaño, en bytes, del mapa de memoria del perfil de destino. Si pvTargetProfile es NULL, este parámetro debe establecerse en cero.

[in] dwReserved

Parámetro reservado que se debe establecer en cero.

Valor devuelto

DrvIcmCreateColorTransform devuelve un identificador a la transformación creada cuando se realiza correctamente. De lo contrario, notifica un error y devuelve NULL.

Comentarios

El controlador crea una transformación de color a partir de los datos del perfil de la siguiente manera:

  • El controlador debe usar el perfil de origen al que pvSourceProfile apunta cuando no es NULL. De lo contrario, el controlador debe usar los datos de la estructura a la que pLogColorSpace apunta para la información del espacio de colores de origen.
  • Cuando el controlador recibe un perfil de destino pero ningún perfil de destino, debe almacenar los datos necesarios para transformar los colores del espacio de color de origen especificado en el espacio de colores de destino especificado.
  • Cuando el controlador recibe perfiles de destino y destino, debe almacenar los datos necesarios para transformar los colores del espacio de color de origen especificado en el espacio de color de destino especificado y desde el espacio de colores de destino de nuevo al espacio de colores de destino. En este escenario, el dispositivo del controlador es el dispositivo de destino en el que se puede comprobar una imagen. Después, el controlador debe poder convertir el espacio de color de la imagen de corrección en el espacio de colores del dispositivo de destino.
Independientemente de si se especifica un perfil de destino, el dispositivo del controlador siempre es el dispositivo de destino.

Los perfiles proporcionados se adhieren a la versión 2.10 del formato de perfil ICC. Si el controlador no entiende el formato especificado, debe producir un error en la llamada.

El controlador puede acceder de forma segura a toda la asignación de memoria de cada perfil. Los punteros pvSourceProfile, pvDestProfile y pvTargetProfile solo son válidos durante el ámbito de la llamada a DrvIcmCreateTransform.

Los controladores que notifican compatibilidad con ICM deben implementar esta función. Un controlador indica la compatibilidad con ICM estableciendo la marca GCAPS_ICM en el miembro flGraphicsCaps de la estructura DEVINFO .

Requisitos

Requisito Value
Plataforma de destino Escritorio
Encabezado winddi.h (incluya Winddi.h)

Consulte también

DrvIcmDeleteColorTransform