Partager via


Fonction OpenColorProfileW (icm.h)

Crée un handle dans un profil de couleur spécifié. Le handle peut ensuite être utilisé dans d’autres fonctions de gestion de profil.

Syntaxe

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

Paramètres

pProfile

Pointeur vers une structure de profil de couleur spécifiant le profil. Le pointeur pProfile peut être libéré dès que le handle est créé.

dwDesiredAccess

Spécifie comment accéder au profil donné. Ce paramètre doit prendre l’une des valeurs constantes suivantes.

Valeur Signification
PROFILE_READ
Ouvre le profil pour l’accès en lecture.
PROFILE_READWRITE
Ouvre le profil pour l’accès en lecture et en écriture. N’a aucun effet pour les profils XML WCS.

dwShareMode

Spécifie la façon dont le profil doit être partagé, si le profil est contenu dans un fichier. La valeur zéro empêche le profil d’être partagé. Le paramètre peut contenir l’une ou les deux constantes suivantes (combinées par addition ou OR logique).

Valeur Signification
FILE_SHARE_READ
D’autres opérations ouvertes peuvent être effectuées sur le profil pour l’accès en lecture.
FILE_SHARE_WRITE
D’autres opérations ouvertes peuvent être effectuées sur le profil pour l’accès en écriture. N’a aucun effet pour les profils XML WCS.

dwCreationMode

Spécifie les actions à effectuer sur le profil lors de son ouverture, s’il est contenu dans un fichier. Ce paramètre doit prendre l’une des valeurs constantes suivantes.

Valeur Signification
CREATE_NEW
Crée un profil. Échoue si le profil existe déjà.
CREATE_ALWAYS
Crée un profil. Remplace le profil s’il existe.
OPEN_EXISTING
Ouvre le profil. Échoue s’il n’existe pas
OPEN_ALWAYS
Ouvre le profil s’il existe. Pour les profils ICC, si le profil n’existe pas, crée le profil. Pour les profils XML WCS, si le profil n’existe pas, retourne une erreur.
TRUNCATE_EXISTING
Ouvre le profil et le tronque à zéro octet, renvoyant un profil ICC vide. Échoue si le profil n’existe pas.

Valeur retournée

Si cette fonction réussit, la valeur de retour est le handle du profil de couleur ouvert. Pour les profils ICC et WCS, un CAMP et un GMMP sont fournis par la fonction en fonction des valeurs CAMP et GMMP par défaut actuelles dans le registre.

Quand OpenColorProfile rencontre un profil ICC avec un profil WCS incorporé, et si le membre dwType au sein de la structure Profil ne prend pas la valeur DONT_USE_EMBEDDED_WCS_PROFILES, il doit extraire et utiliser le ou les profils WCS contenus dans ce WcsProfilesTag. Le fichier HPROFILE retourné est un HPROFILE WCS.

Si cette fonction échoue, la valeur de retour est NULL. Pour obtenir des informations d’erreur étendues, appelez GetLastError.

Notes

Si les données de profil ne sont pas spécifiées à l’aide d’un nom de fichier, dwShareMode et dwCreationMode sont ignorés.

les indicateurs dwCreationMode CREATE_NEW, CREATE_ALWAYS et TRUNCATE_EXISTING retournent toujours des HPROFILEs ICC vides. Si d’autres indicateurs dwCreationMode sont présents, InternalOpenColorProfile est appelé (à l’aide des indicateurs fournis par l’API) pour déterminer si le profil est ICC ou WCS XML.

Dans le chemin de code ICC, un HPROFILE ICC est retourné à l’aide des indicateurs de partage, d’accès et de création demandés, comme spécifié dans les tableaux ci-dessus.

Dans le chemin WCS, l’indicateur dwCreationMode OPEN_ALWAYS échoue si le profil n’existe pas, car les profils WCS ne peuvent pas être créés ou modifiés dans l’architecture WCS (ils doivent être modifiés en dehors de celui-ci, à l’aide de MSXML6). Pour la même raison, l’indicateur dwShareMode FILE_SHARE_WRITE et l’indicateur dwDesiredAccess PROFILE_READWRITE sont ignorés dans le chemin WCS.

Lorsque la fonction ouvre le profil ICC, elle recherche un WcsProfilesTag et, le cas échéant, elle extrait et utilise les profils WCS d’origine qu’il contient. (Voir WcsCreateIccProfile.)

Un fichier HPROFILE avec les informations de profil WCS est dérivé d’un DMP en acquérant le CAMP par défaut et le GMMP par défaut à partir du Registre. Un HPROFILE est une composition d’un DMP, d’un CAMP et d’un GMMP.

Une fois le handle du profil de couleur créé, toutes les informations utilisées pour créer ce handle peuvent être supprimées.

Utilisez la fonction CloseColorProfile pour fermer un handle d’objet retourné par OpenColorProfile.

Configuration requise

   
Client minimal pris en charge Windows 2000 Professionnel [applications de bureau uniquement]
Serveur minimal pris en charge Windows 2000 Server [applications de bureau uniquement]
En-tête icm.h
Bibliothèque Mscms.lib
DLL Mscms.dll

Voir aussi