Função OpenColorProfileW (icm.h)

Cria um identificador para um perfil de cor especificado. O identificador pode ser usado em outras funções de gerenciamento de perfil.

Sintaxe

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

Parâmetros

pProfile

Ponteiro para uma estrutura de perfil de cor que especifica o perfil. O ponteiro pProfile pode ser liberado assim que o identificador é criado.

dwDesiredAccess

Especifica como acessar o perfil determinado. Esse parâmetro deve ter um dos seguintes valores constantes.

Valor Significado
PROFILE_READ
Abre o perfil para acesso de leitura.
PROFILE_READWRITE
Abre o perfil para acesso de leitura e gravação. Não tem efeito para perfis XML do WCS.

dwShareMode

Especifica como o perfil deve ser compartilhado, se o perfil estiver contido em um arquivo. Um valor zero impede que o perfil seja compartilhado. O parâmetro pode conter uma ou ambas as constantes a seguir (combinadas por adição ou OR lógico).

Valor Significado
FILE_SHARE_READ
Outras operações abertas podem ser executadas no perfil para acesso de leitura.
FILE_SHARE_WRITE
Outras operações abertas podem ser executadas no perfil para acesso de gravação. Não tem efeito para perfis XML do WCS.

dwCreationMode

Especifica quais ações executar no perfil ao abri-lo, se ele estiver contido em um arquivo. Esse parâmetro deve usar um dos seguintes valores constantes.

Valor Significado
CREATE_NEW
Cria um novo perfil. Falhará se o perfil já existir.
CREATE_ALWAYS
Cria um novo perfil. Substitui o perfil se ele existir.
OPEN_EXISTING
Abre o perfil. Falha se não existir
OPEN_ALWAYS
Abre o perfil se ele existir. Para perfis ICC, se o perfil não existir, o criará o perfil. Para perfis XML do WCS, se o perfil não existir, retornará um erro.
TRUNCATE_EXISTING
Abre o perfil e o trunca em zero bytes, retornando um perfil ICC em branco. Falhará se o perfil não existir.

Valor retornado

Se essa função for bem-sucedida, o valor retornado será o identificador do perfil de cor aberto. Para perfis ICC e WCS, um CAMP e o GMMP são fornecidos pela função com base no CAMP padrão atual e no GMMP no registro.

Quando OpenColorProfile encontra um perfil ICC com um perfil WCS inserido e, se o membro dwType dentro da estrutura Profile não usa o valor DONT_USE_EMBEDDED_WCS_PROFILES, ele deve extrair e usar os perfis WCS contidos neste WcsProfilesTag. O HPROFILE retornado seria um HPROFILE do WCS.

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

Comentários

Se os dados do perfil não forem especificados usando um nome de arquivo, dwShareMode e dwCreationMode serão ignorados.

os sinalizadores dwCreationMode CREATE_NEW, CREATE_ALWAYS e TRUNCATE_EXISTING, sempre retornarão HPROFILEs ICC em branco. Se outros sinalizadores dwCreationMode estiverem presentes, InternalOpenColorProfile será chamado (usando os sinalizadores conforme fornecido pela API) para determinar se o perfil é ICC ou WCS XML.

No caminho do código ICC, um HPROFILE ICC é retornado usando os sinalizadores de compartilhamento, acesso e criação solicitados, conforme especificado nas tabelas acima.

No caminho do WCS, o sinalizador dwCreationMode OPEN_ALWAYS falhará se o perfil não existir, pois os perfis do WCS não podem ser criados ou editados dentro da arquitetura do WCS (eles devem ser editados fora dele, usando MSXML6). Pelo mesmo motivo, o sinalizador dwShareMode FILE_SHARE_WRITE e o sinalizador dwDesiredAccess PROFILE_READWRITE são ignorados dentro do caminho do WCS.

Quando a função abrir o perfil ICC, ela procurará um WcsProfilesTag e, se houver um, extrairá e usará os perfis originais do WCS contidos nele. (Consulte WcsCreateIccProfile.)

Um HPROFILE com informações de perfil do WCS é derivado de um DMP adquirindo o CAMP padrão e o GMMP padrão do registro. Um HPROFILE é uma composição de um DMP, CAMP e GMMP.

Depois que o identificador para o perfil de cor for criado, todas as informações usadas para criar esse identificador poderão ser excluídas.

Use a função CloseColorProfile para fechar um identificador de objeto retornado por OpenColorProfile.

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
Biblioteca Mscms.lib
DLL Mscms.dll

Confira também