Compartilhar via


Função EnumColorProfilesW (icm.h)

Enumera todos os perfis que atendem aos critérios de enumeração especificados.

Sintaxe

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

Parâmetros

pMachineName

Reservado. Deve ser NULL. Esse parâmetro destina-se a apontar para o nome do computador no qual enumerar perfis. Um ponteiro NULL indica o computador local.

pEnumRecord

Ponteiro para uma estrutura que especifica os critérios de enumeração.

pEnumerationBuffer

Ponteiro para um buffer no qual os perfis devem ser enumerados. Uma MULTI_SZ cadeia de caracteres de nomes de perfil que satisfaz os critérios especificados em *pEnumRecord será colocada nesse buffer.

pdwSizeOfEnumerationBuffer

Ponteiro para uma variável que contém o tamanho do buffer apontado por pBuffer. No retorno, *pdwSize contém o tamanho do buffer realmente usado ou necessário.

pnProfiles

Ponteiro para uma variável que conterá, no retorno, o número de nomes de perfil realmente copiados para o buffer.

Valor retornado

Se essa função for bem-sucedida, o valor retornado será TRUE.

Se essa função falhar, o valor retornado será FALSE. Para obter informações de erro estendidas, chame GetLastError.

Comentários

Vários perfis normalmente são associados a impressoras, com base nos tipos de papel e tinta. Há um perfil padrão para cada dispositivo. Para perfis do ICC (International Color Consortium), a GDI seleciona a melhor entre os perfis associados ao ICC quando seu aplicativo cria um DC (contexto de dispositivo).

Não tente usar EnumColorProfiles para determinar o perfil padrão de um dispositivo. Em vez disso, crie um contexto de dispositivo para o dispositivo e invoque a função GetICMProfile . No Windows Vista e no Windows 7, a função WcsGetDefaultColorProfile também pode ser usada para determinar o perfil de cor padrão de um dispositivo.

Se o membro dwFields da estrutura do tipo ENUMTYPE apontado pelo parâmetro pEnumRecord for definido como ET_DEVICENAME, essa função enumerará todos os perfis de cor associados a todos os tipos de dispositivos anexados ao computador do usuário, independentemente da classe de dispositivo. Se o membro dwFields da estrutura apontada pelo parâmetro pEnumRecord for definido como ET_DEVICENAME ou ET_DEVICECLASS e uma classe de dispositivo for especificada no membro dwDeviceClass da estrutura, essa função enumerará apenas os perfis associados à classe de dispositivo especificada. Se o membro dwFields for definido apenas como ET_DEVICECLASS, a função EnumColorProfiles enumerará todos os perfis que podem ser associados a esse tipo de dispositivo.

Sempre que EnumColorProfiles estiver examinando os perfis associados a um dispositivo específico, os resultados dependem se o usuário optou por usar a lista de perfis em todo o sistema associados a esse dispositivo ou sua própria lista ("por usuário"). Chamar WcsSetUsePerUserProfiles com seu parâmetro usePerUserProfiles definido como TRUE faz com que chamadas futuras para EnumColorProfiles examinem apenas a lista de associações de perfil por usuário do usuário atual para o dispositivo especificado. Chamar WcsSetUsePerUserProfiles com seu parâmetro usePerUserProfiles definido como FALSE faz com que chamadas futuras para EnumColorProfiles examinem a lista de associações de perfil em todo o sistema para o dispositivo especificado. Se WcsSetUsePerUserProfiles nunca tiver sido chamado para o usuário atual, EnumColorProfiles examinará a lista em todo o sistema.

Seu aplicativo pode usar EnumColorProfiles para obter o tamanho do buffer no qual os perfis são enumerados. Ele deve chamar a função EnumColorProfiles com o parâmetro pBuffer definido como NULL. Quando a função retornar, o parâmetro pdwSize conterá o tamanho do buffer necessário em bytes. Seu programa pode usar essas informações para alocar o buffer de enumeração. Em seguida, ele pode invocar EnumColorProfiles novamente com o parâmetro pBuffer definido como o endereço do buffer.

Essa função fornecerá as informações para converter informações de DMP específicas do WCS para o registro EnumType herdado em habilitar a enumeração de perfil consistente. Os padrões serão os mesmos que o ICC se essas informações não estiverem presentes.

Suporte por usuário/LUA

A enumeração é específica do usuário atual. As associações de dispositivos de usuário em todo o sistema e atuais são consideradas. Para a configuração de perfil padrão, as configurações de usuário atuais substituem as do sistema.

Requisitos

   
Cliente mínimo com suporte Windows 2000 Professional [somente aplicativos da área de trabalho]
Servidor mínimo com suporte Windows 2000 Server [somente aplicativos da área de trabalho]
Cabeçalho icm.h

Confira também