Partager via


Fonction DrvIcmCreateColorTransform (winddi.h)

La fonction DrvIcmCreateColorTransform crée une transformation de couleur ICM.

Syntaxe

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

Paramètres

[in] dhpdev

Gérez le PDEV de l’appareil physique.

[in] pLogColorSpace

Pointeur vers une structure d’espace de couleurs logique. La structure LOGCOLORSPACEW est définie dans la documentation Microsoft Windows SDK. Le pilote doit obtenir des informations d’espace de couleur source à partir de cette structure lorsque pvSourceProfile a la valeur NULL.

[in, optional] pvSourceProfile

Pointeur vers la carte de mémoire du profil source. Ce paramètre peut être NULL.

[in] cjSourceProfile

Spécifie la taille, en octets, du mappage de mémoire du profil source. Si pvSourceProfile a la valeur NULL, ce paramètre doit être défini sur zéro.

[in] pvDestProfile

Pointeur vers la carte de mémoire du profil de destination.

[in] cjDestProfile

Spécifie la taille, en octets, du mappage mémoire du profil de destination.

[in, optional] pvTargetProfile

Pointeur vers la carte de mémoire du profil cible. Ce paramètre peut être NULL.

[in] cjTargetProfile

Spécifie la taille, en octets, du mappage de mémoire du profil cible. Si pvTargetProfile a la valeur NULL, ce paramètre doit être défini sur zéro.

[in] dwReserved

Paramètre réservé qui doit être défini sur zéro.

Valeur retournée

DrvIcmCreateColorTransform retourne un handle à la transformation créée en cas de réussite. Sinon, il signale une erreur et retourne NULL.

Remarques

Le pilote crée une transformation de couleur à partir des données de profil comme suit :

  • Le pilote doit utiliser le profil source vers lequel pvSourceProfile pointe quand il n’est pas NULL. Sinon, le pilote doit utiliser les données de la structure vers laquelle pLogColorSpace pointe pour les informations d’espace de couleur source.
  • Lorsque le pilote reçoit un profil de destination mais aucun profil cible, il doit stocker les données nécessaires pour transformer les couleurs de l’espace de couleurs source spécifié en espace de couleurs de destination spécifié.
  • Lorsque le pilote reçoit à la fois des profils cible et de destination, il doit stocker les données nécessaires pour transformer les couleurs de l’espace de couleur source spécifié en espace de couleurs cible spécifié et de l’espace de couleurs cible vers l’espace de couleurs de destination. Dans ce scénario, l’appareil du pilote est l’appareil de destination sur lequel une image peut être prouvée. Le pilote doit ensuite être en mesure de convertir l’espace de couleur de l’image de vérification linguistique en espace de couleurs de l’appareil cible.
Qu’un profil cible soit spécifié ou non, l’appareil du pilote est toujours l’appareil de destination.

Les profils fournis respectent la version 2.10 du format de profil ICC. Si le pilote ne comprend pas le format spécifié, l’appel doit échouer.

Le pilote peut accéder en toute sécurité à la carte de mémoire entière de chaque profil. Les pointeurs pvSourceProfile, pvDestProfile et pvTargetProfile sont valides uniquement pendant l’étendue de l’appel à DrvIcmCreateTransform.

Les pilotes qui signalent la prise en charge d’ICM doivent implémenter cette fonction. Un pilote indique la prise en charge d’ICM en définissant l’indicateur GCAPS_ICM dans le membre flGraphicsCaps de la structure DEVINFO .

Configuration requise

Condition requise Valeur
Plateforme cible Desktop (Expérience utilisateur)
En-tête winddi.h (inclure Winddi.h)

Voir aussi

DrvIcmDeleteColorTransform