Partager via


EnumColorProfilesW, fonction (icm.h)

Énumère tous les profils répondant aux critères d’énumération donnés.

Syntaxe

BOOL EnumColorProfilesW(
  PCWSTR     pMachineName,
  PENUMTYPEW pEnumRecord,
  PBYTE      pEnumerationBuffer,
  PDWORD     pdwSizeOfEnumerationBuffer,
  PDWORD     pnProfiles
);

Paramètres

pMachineName

Réservé. Doit être NULL. Ce paramètre est destiné à pointer vers le nom de l’ordinateur sur lequel énumérer les profils. Un pointeur NULL indique l’ordinateur local.

pEnumRecord

Pointeur vers une structure spécifiant les critères d’énumération.

pEnumerationBuffer

Pointeur vers une mémoire tampon dans laquelle les profils doivent être énumérés. Une MULTI_SZ chaîne de noms de profil répondant aux critères spécifiés dans *pEnumRecord sera placée dans cette mémoire tampon.

pdwSizeOfEnumerationBuffer

Pointeur vers une variable contenant la taille de la mémoire tampon pointée par pBuffer. Au retour, *pdwSize contient la taille de la mémoire tampon réellement utilisée ou nécessaire.

pnProfiles

Pointeur vers une variable qui contiendra, au retour, le nombre de noms de profil réellement copiés dans la mémoire tampon.

Valeur retournée

Si cette fonction réussit, la valeur de retour est TRUE.

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

Notes

Plusieurs profils sont généralement associés aux imprimantes, en fonction des types de papier et d’encre. Il existe un profil par défaut pour chaque appareil. Pour les profils ICC (International Color Consortium), GDI sélectionne le meilleur parmi les profils associés à l’ICC lorsque votre application crée un contexte d’appareil (DC).

N’essayez pas d’utiliser EnumColorProfiles pour déterminer le profil par défaut d’un appareil. Au lieu de cela, créez un contexte d’appareil pour l’appareil, puis appelez la fonction GetICMProfile . Sur Windows Vista et Windows 7, la fonction WcsGetDefaultColorProfile peut également être utilisée pour déterminer le profil de couleur par défaut d’un appareil.

Si le membre dwFields de la structure de type ENUMTYPE vers laquelle pointe le paramètre pEnumRecord est défini sur ET_DEVICENAME, cette fonction énumère tous les profils de couleurs associés à tous les types d’appareils attachés à l’ordinateur de l’utilisateur, quelle que soit la classe d’appareil. Si le membre dwFields de la structure pointé par le paramètre pEnumRecord est défini sur ET_DEVICENAME ou ET_DEVICECLASS et qu’une classe d’appareil est spécifiée dans le membre dwDeviceClass de la structure, cette fonction énumère uniquement les profils associés à la classe d’appareil spécifiée. Si le membre dwFields est défini uniquement sur ET_DEVICECLASS, la fonction EnumColorProfiles énumère tous les profils qui peuvent être associés à ce type d’appareil.

Chaque fois qu’EnumColorProfiles examine les profils associés à un appareil spécifique, les résultats varient selon que l’utilisateur a choisi d’utiliser la liste à l’échelle du système des profils associés à cet appareil, ou sa propre liste (« par utilisateur »). L’appel de WcsSetUsePerUserProfiles avec son paramètre usePerUserProfiles défini sur TRUE entraîne les appels futurs à EnumColorProfiles pour examiner uniquement la liste des associations de profil par utilisateur de l’utilisateur actuel pour l’appareil spécifié. L’appel de WcsSetUsePerUserProfiles avec son paramètre usePerUserProfiles défini sur FALSE entraîne les futurs appels à EnumColorProfiles d’examiner la liste à l’échelle du système des associations de profils pour l’appareil spécifié. Si WcsSetUsePerUserProfiles n’a jamais été appelé pour l’utilisateur actuel, EnumColorProfiles examine la liste à l’échelle du système.

Votre application peut utiliser EnumColorProfiles pour obtenir la taille de la mémoire tampon dans laquelle les profils sont énumérés. Il doit appeler la fonction EnumColorProfiles avec le paramètre pBuffer défini sur NULL. Lorsque la fonction est retournée, le paramètre pdwSize contient la taille de mémoire tampon requise en octets. Votre programme peut utiliser ces informations pour allouer la mémoire tampon d’énumération. Il peut ensuite appeler à nouveau EnumColorProfiles avec le paramètre pBuffer défini sur l’adresse de la mémoire tampon.

Cette fonction fournit les informations permettant de convertir des informations DMP spécifiques à WCS en enregistrement EnumType hérité dans activer l’énumération de profil cohérente. Les valeurs par défaut sont identiques à icc si ces informations ne sont pas présentes.

Prise en charge par utilisateur/LUA

L’énumération est spécifique à l’utilisateur actuel. Les associations d’appareils utilisateur actuels et à l’échelle du système sont prises en compte. Pour la configuration de profil par défaut, les paramètres utilisateur actuels remplacent ceux à l’échelle du système.

Spécifications

   
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

Voir aussi