Função OpenColorProfileA (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 OpenColorProfileA(
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 |
---|---|
|
Abre o perfil para acesso de leitura. |
|
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 |
---|---|
|
Outras operações abertas podem ser executadas no perfil para acesso de leitura. |
|
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 |
---|---|
|
Cria um novo perfil. Falhará se o perfil já existir. |
|
Cria um novo perfil. Substitui o perfil se ele existir. |
|
Abre o perfil. Falha se não existir |
|
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. |
|
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 |