Compartir a través de


Funciones de administración de perfiles

Funciones de administración de perfiles

Las siguientes funciones de API son útiles en la administración de perfiles.

Función Descripción
AssociateColorProfileWithDeviceW Asocia un perfil de color especificado a un dispositivo especificado.
[CreateProfileFromLogColorSpaceW] ((/windows/win32/api/icm/nf-icm-createprofilefromlogcolorspacew) Convierte un espacio de color lógico en un perfil de dispositivo.
DisassociateColorProfileFromDeviceW Desasocia un perfil de color especificado con un dispositivo especificado en un equipo especificado.
EnumColorProfilesW Enumera todos los perfiles que cumplen los criterios de enumeración especificados.
GetColorDirectoryW Recupera la ruta de acceso del directorio Windows COLOR en un equipo especificado.
GetDeviceGammaRamp Obtiene la rampa gamma de los paneles de visualización de color directo.
GetStandardColorSpaceProfileW Recupera el perfil de color registrado para el espacio de color estándar especificado.
InstallColorProfileW Instala un perfil determinado para su uso en un equipo especificado. El perfil también se copia en el directorio COLOR.
RegisterCMMW Asocia un valor de identificación especificado con la biblioteca de vínculos dinámicos del módulo de administración de colores especificada (DLL de CMM). Cuando este identificador aparece en un perfil de color, Windows puede buscar el CMM correspondiente para crear una transformación.
SetDeviceGammaRamp Establece la rampa gamma en paneles de visualización de color directo.
SetStandardColorSpaceProfileW Registra un perfil especificado para un espacio de color estándar determinado. El perfil se puede consultar con GetStandardColorSpaceProfileW.
UninstallColorProfileW Quita un perfil de color especificado de un equipo especificado. Opcionalmente, los archivos asociados se eliminan del sistema.
Anulación del registroCMMW Desasocia un valor de identificador especificado de una biblioteca de vínculos dinámicos (DLL de CMM) del módulo de administración de colores determinado.
WcsAssociateColorProfileWithDevice Asocia un perfil de color WCS especificado a un dispositivo especificado.
WcsCreateIccProfile Convierte un perfil de WCS en un perfil ICC.
WcsDisassociateColorProfileFromDevice Desasocia un perfil de color WCS especificado con un dispositivo especificado en un equipo especificado.
WcsEnumColorProfiles Enumera todos los perfiles de color que cumplen los criterios de enumeración en el ámbito de administración de perfiles especificado.
WcsEnumColorProfilesSize Devuelve el tamaño, en bytes, del búfer requerido por la función WcsEnumColorProfiles para enumerar los perfiles de color.
WcsGetDefaultColorProfile Recupera el perfil de color predeterminado de un dispositivo o el valor predeterminado independiente del dispositivo si no se especifica el dispositivo.
WcsGetDefaultColorProfileSize Devuelve el tamaño, en bytes, del nombre de perfil de color predeterminado para un dispositivo, incluido el terminador NULL .
WcsGetDefaultRenderingIntent Recupera la intención de representación predeterminada en el ámbito de administración de perfiles especificado.
WcsGetUsePerUserProfiles Determina si el usuario ha elegido usar una lista de asociaciones por perfil de usuario para el dispositivo especificado.
WcsOpenColorProfileW Crea un identificador para un perfil de color especificado.
WcsSetDefaultColorProfile Establece el nombre de perfil de color predeterminado del tipo de perfil especificado en el ámbito de administración de perfiles especificado.
WcsSetDefaultRenderingIntent Establece la intención de representación predeterminada en el ámbito de administración de perfiles especificado.
WcsSetUsePerUserProfiles Permite al usuario especificar si se debe usar una lista de asociaciones de perfil por usuario para el dispositivo especificado.

 

Funciones de consumo de perfiles

Las API de consumo de perfiles son esas API en ICM2 que toman perfiles XML de ICC o WCS, identificadores de perfil o intenciones de representación como parámetros, y un conjunto de nuevas API para la compatibilidad del perfil WCS con el código de administración de colores de la aplicación.

 

Funciones de administración de perfiles y perfiles

El flujo de trabajo de administración de perfiles se basa en las API de ICM2 existentes que se aumentan para proporcionar funcionalidad adicional para revisar el código de la aplicación.

Los perfiles contienen información utilizada por algoritmos de procesamiento de color para traducir el color entre diferentes espacios de color. La administración de perfiles proporciona una manera de consultar y especificar qué perfiles se usan en diferentes fases por el modelo de procesamiento de colores para administrar la salida de color de varios dispositivos periféricos con diversas características de color.

La administración de perfiles proporciona el siguiente conjunto de funcionalidades:

 

  1. Instalación de perfiles de color para su uso en el sistema.

 

  1. Asociación de uno o varios perfiles de color instalados con cualquier dispositivo determinado.

 

  1. Elegir un perfil de color predeterminado de un tipo determinado entre los perfiles disponibles para su uso en una fase determinada de procesamiento de color. Esto podría ser para un dispositivo entre los perfiles asociados a él, o entre los perfiles instalados en el sistema y no específicos del dispositivo.

 

  1. Enumeración de perfiles de color que cumplen determinados criterios entre los perfiles instalados en el sistema.

Las extensiones de nombre de archivo del perfil wcS son ".cdmp" para las DMP, ".camp" para CAMP y ".gmmp" para los GMMP.

 

Administración de perfiles por usuario y habilitación de la ejecución en el contexto de LUA

El objetivo del diseño descrito en el documento actual es el siguiente:

 

  1. La implementación heredada de ICM2 no proporciona compatibilidad con la administración de perfiles por usuario. Los distintos usuarios no pueden tener su propia configuración de perfil. En Vista, la infraestructura de administración de perfiles de WCS permite a los usuarios configurar opciones de perfil individuales para la mayoría de las funcionalidades.

 

  1. Todas las API heredadas de administración de perfiles de ICM2 modifican la configuración en todo el sistema y requieren privilegios administrativos. En Windows Vista, todos los usuarios se ejecutan en la configuración de la cuenta de usuario con privilegios mínimos (LUA) la mayor parte del tiempo, y los administradores pueden elevar los privilegios de forma selectiva para ejecutar aplicaciones que modifican la configuración de todo el sistema. En la administración de perfiles de WCS, todas las configuraciones de perfil por usuario se pueden configurar en el contexto de LUA. Las aplicaciones de administración de perfiles se pueden ejecutar como configuración de LUA, lo que aumenta su ámbito de uso y garantiza que la seguridad del sistema no esté en peligro.

La administración de perfiles en Vista proporciona las siguientes mejoras sobre la infraestructura ICM2 heredada:

 

  1. Habilita la asociación de perfiles con dispositivos, la configuración de perfil predeterminada y la enumeración de perfiles en el ámbito por usuario y en todo el sistema.

 

  1. La instalación de un perfil sigue siendo amplia en el sistema y requiere privilegios de administrador. Esto es coherente con la instalación de perfiles durante la instalación del dispositivo porque la instalación del dispositivo es amplia del sistema y requiere privilegios administrativos.

 

Si los dispositivos se pueden instalar desde el contexto lua es específico de lo que se admite para esa clase de dispositivo. Por ejemplo, en Vista, es posible realizar la instalación de impresoras desde el contexto lua si el usuario ha concedido derechos para copiar archivos en el almacén de controladores por un administrador de dominio mediante directivas de almacén de controladores. La infraestructura de administración de perfiles de color no necesita hacer nada especial en este sentido, ya que la instalación se produce en contexto de cola.

 

  1. La modificación de la configuración del perfil en el ámbito por usuario se puede realizar en el contexto de LUA; Las modificaciones de todo el sistema requieren privilegios administrativos. Las operaciones de administración de perfiles que requieren la lectura de información de configuración se pueden realizar en el contexto de LUA para la configuración por usuario y en todo el sistema.

El ámbito de administración de perfiles indica el ámbito de las operaciones realizadas; por usuario o por sistema.

Para cada operación, se indica si se puede realizar desde el contexto de LUA. Si no se puede realizar una operación en el contexto de LUA, la API de administración de perfiles correspondiente devuelve un error con acceso denegado. Las aplicaciones que usan la API, como La administración de colores Panel de control, pueden permitir al usuario elevarlo al contexto administrativo (mediante OTS o interfaz de usuario de consentimiento) y, a continuación, llamar a la API desde el contexto con privilegios elevados para que la operación se realice correctamente.

Operación

Ámbito de administración de perfiles

Condición previa

Condición posterior

Ejecutable en el contexto de LUA

${ROWSPAN2}$Install perfil${REMOVE}$

Todo el sistema

Perfil copiado, instalado en el sistema y disponible para su uso. El perfil se enumera en todo el sistema y en el ámbito del usuario actual para todos los usuarios.

Durante la instalación del controlador de dispositivo, regido por las directivas de instalación de controladores. De lo contrario, no.

Usuario actual

No compatible

${ROWSPAN2}$Uninstall perfil${REMOVE}$

Todo el sistema

El perfil está instalado en el sistema.

Perfil desinstalado del sistema y, opcionalmente, eliminado del almacén de perfiles. El perfil ya no está disponible para su uso y no se puede enumerar en ningún ámbito.

No

Usuario actual

No compatible

${ROWSPAN2}$Associate perfil con device${REMOVE}$

Todo el sistema

El perfil está instalado y es de tipo ICC o CDMP

El perfil está disponible para su uso con el dispositivo por parte de todos los usuarios. Es enumerable, en el ámbito de todo el sistema y también en el ámbito de usuario actual para todos los usuarios, como se asocia con el dispositivo.

No

Usuario actual

El perfil está instalado. No importa si el perfil ya está asociado al dispositivo en el ámbito del sistema y es de tipo ICC o CDMP.

El perfil está disponible para su uso con el dispositivo por el usuario actual. Solo se puede enumerar en el ámbito del usuario actual (a menos que también haya una asociación para todo el sistema) asociada al dispositivo.

${ROWSPAN2}$Disassociate perfil del dispositivo${REMOVE}$

Todo el sistema

El perfil está asociado al dispositivo en todo el sistema y es de tipo ICC o CDMP.

El perfil ya no está disponible para su uso (excepto para los usuarios que tienen esta asociación en su ámbito de usuario actual). No se puede enumerar en todo el sistema. Sin embargo, podría ser enumerable en el ámbito del usuario actual, para un usuario que tenga esta asociación en su ámbito.

No

Usuario actual

El perfil está asociado al dispositivo en el ámbito del usuario actual (independientemente de si está asociado en todo el sistema) y es de tipo ICC o CDMP.

El perfil ya no está disponible para su uso o enumerable como asociado al dispositivo, por usuario actual (a menos que también esté asociado en el ámbito de todo el sistema al dispositivo).

${ROWSPAN2}$Set perfil para un tipo (DMP o ICC) como valor predeterminado para un dispositivo${REMOVE}$

Todo el sistema

El perfil es de tipo ICC o CDMP

El perfil se usa de forma predeterminada, para el tipo determinado con el dispositivo, para todos los usuarios excepto para aquellos que han invalidado esta configuración en su ámbito de usuario actual. (El perfil está instalado y asociado a todo el sistema del dispositivo, si aún no es así).

No

Usuario actual

El perfil es de tipo ICC o CDMP

El perfil se usa de forma predeterminada para el tipo concreto con el dispositivo en caso de usuario actual, independientemente del valor predeterminado de todo el sistema para esto. (El perfil está instalado y asociado al dispositivo para el usuario actual, si aún no es así).

Sí, si el perfil ya está instalado

${ROWSPAN2}$Set perfil para un tipo (ICC, DMP, CAMP, GMMP) y combinación de subtipos como valor predeterminado global${REMOVE}$

Todo el sistema

Solo los perfiles ICC y CDMP se pueden asociar a dispositivos.

El perfil se usa de forma predeterminada para el tipo determinado. Los usuarios pueden invalidar esta configuración en el ámbito del usuario actual. (El perfil está instalado, si aún no es así).

No

Usuario actual

Solo los perfiles ICC y CDMP se pueden asociar a dispositivos.

El perfil se usa de forma predeterminada para el tipo determinado para el usuario actual. (El perfil está instalado, si aún no es así).

Sí, si el perfil ya está instalado.

${ROWSPAN2}$Erase la invalidación del usuario actual para una configuración de perfil predeterminada determinada, de modo que el valor predeterminado del sistema siempre se use (como reserva) incluso para el ámbito del usuario actual.${REMOVE}$

Todo el sistema

No aplicable

Usuario actual

Incluso para las consultas de usuario actuales en la configuración de perfil predeterminada, se devuelve la configuración de todo el sistema para su uso.

${ROWSPAN2}$Enumerate perfiles instalados que cumplan determinados criterios (como la clase de dispositivo, la clase de perfil, etc.) ${REMOVE}$

Todo el sistema

Solo los perfiles ICC y CDMP se pueden asociar y enumerar para dispositivos.

Se enumeran los perfiles que se instalan y cumplen los criterios especificados en todo el sistema.

Usuario actual

Solo los perfiles ICC y CDMP se pueden asociar a dispositivos y, por tanto, se enumeran para los dispositivos.

Se enumeran los perfiles que se instalan y cumplen los criterios especificados en todo el sistema.

${ROWSPAN2}$Enumerate perfiles asociados a un dispositivo determinado que cumpla determinados criterios, como la clase de dispositivo y la clase de perfil${REMOVE}$

Todo el sistema

Solo los perfiles ICC y CDMP se pueden asociar y enumerar para dispositivos.

Se enumeran los perfiles asociados al dispositivo en todo el sistema y que cumplen los criterios especificados en el ámbito de todo el sistema.

Usuario actual

Solo los perfiles ICC y CDMP se pueden asociar y enumerar para dispositivos.

Se enumeran los perfiles que están disponibles como asociados con el dispositivo en el ámbito del usuario actual, que incluye las asociaciones de todo el sistema y satisface los criterios especificados en el ámbito del usuario actual.

 

La enumeración COLORPROFILETYPE proporciona los tipos de perfil de color válidos.

La enumeración COLORPROFILESUBTYPE proporciona los subtipos de perfil de color válidos.

Las combinaciones válidas de tipo/subtipo de perfil se muestran en la tabla siguiente.

COLORPROFILETYPE

COLORPROFILESUBTYPE válido

Notas

Valor predeterminado del dispositivo

Valor predeterminado global

Uso previsto

Uso previsto

CPT_ICC

CPST_NONE

Obtener o establecer el perfil de ICC predeterminado asociado a un dispositivo

CPST_RGBWorkingSpace o CPST_CustomWorkingSpace

Obtiene o establece el perfil ICC como perfil de espacio de trabajo rgb global o personalizado. Vea la Nota.

El CPT_ICC COLORPROFILETYPE y CPT_DMP son mutuamente excluyentes. El perfil de color predeterminado establecido para un espacio de trabajo determinado (RGB o Personalizado) puede ser un perfil ICC o un perfil DMP, pero no ambos.

CPT_DMP

CPST_NONE

Obtener o establecer el perfil de DMP predeterminado asociado a un dispositivo

CPST_RGBWorkingSpace o CPST_CustomWorkingSpace

Obtiene o establece el perfil DMP como perfil de espacio de trabajo RGB global o personalizado. Vea la Nota.

El CPT_ICC COLORPROFILETYPE y CPT_DMP son mutuamente excluyentes. El perfil de color predeterminado establecido para un espacio de trabajo determinado (RGB o Personalizado) puede ser un perfil ICC o un perfil DMP, pero no ambos.

 

Nota:

Cuando se llama a WcsSetDefaultColorProfile para establecer un perfil DMP como perfil predeterminado para el espacio de trabajo RGB o un espacio de trabajo personalizado, solo es válido un perfil DMP que sea de tipo RGBVirtualDevice, LCD o CRT.

 

Cuando se llama a WcsSetDefaultColorProfile para establecer un perfil ICC como perfil predeterminado para el espacio de trabajo RGB o un espacio de trabajo personalizado, solo un perfil ICC cuya clase es "espaciado" o "disp", y cuyo espacio de color es "RGB" es válido.

 

La arquitectura está diseñada según los requisitos de las operaciones, como se mencionó en las enumeraciones y tablas anteriores.

Capa de API pública de administración de perfiles

Dado que el ámbito de administración de perfiles no es compatible con las API ICM2 heredadas, se requiere un nuevo conjunto de API de administración de perfiles wcS que define el ámbito de administración de perfiles como usuario actual o ancho del sistema. ? Las API ICM2 heredadas siguen siendo compatibles con versiones anteriores y funcionan en el ámbito de administración de perfiles implícito para la llamada. o API de ICM2 que funcionan en el ámbito del usuario actual? Esto es para las operaciones que se admiten tanto para el ámbito del sistema como para el usuario actual en la administración de perfiles de WCS. Las API ICM2 heredadas llaman a las nuevas API de WCS con el ámbito de administración de perfiles como usuario actual. Esto tiene sentido desde la perspectiva del usuario, ya que esto permite la configuración por usuario de las aplicaciones heredadas y también ejecuta la mayoría de las operaciones en el contexto de LUA. o API de ICM2 que funcionan en el ámbito de todo el sistema? Esto es para las operaciones (instalar perfiles y desinstalar perfiles) que solo admiten el ámbito de todo el sistema. No se crean nuevas API de administración de perfiles de WCS y se pueden modificar las API existentes.

Las implementaciones subyacentes de las operaciones de administración de perfiles funcionan en las siguientes entidades de datos de configuración para crear el contexto para que los algoritmos de procesamiento de colores proporcionen funcionalidades de administración de colores. Son configuraciones específicas del dispositivo o globales (independientes del dispositivo). o Datos de configuración específicos del dispositivo: ? Lista de perfiles asociados a un dispositivo determinado. ? Perfil predeterminado para diferentes tipos de perfil asociados a un dispositivo. ? Modo de coincidencia de perfiles usados para la enumeración. o Datos de configuración global: ? Lista de perfiles instalados en el sistema. ? Perfil predeterminado global para diferentes tipos de perfil. ? Las implementaciones subyacentes del almacenamiento de datos de configuración toman el ámbito de almacenamiento para los datos de configuración (tanto independientes del dispositivo como específicos del dispositivo), que pueden ser usuarios actuales o de todo el sistema. Esto es diferente del ámbito de administración de perfiles. Una operación con ámbito de administración de perfiles de usuario actual puede provocar una lectura desde un ámbito de almacenamiento en todo el sistema si la configuración actual del usuario para esa operación no está presente. ? La capa de API de ICM2/WCS en esta capa de almacenamiento para obtener y establecer datos con el ámbito de almacenamiento adecuado. La capa de almacenamiento es transparente para el ámbito de administración de perfiles. Lógica para combinar datos de ámbitos de almacenamiento de usuario actual y de todo el sistema para crear o actualizar una configuración según el ámbito de administración de perfiles especificado por el llamador de LA API. Esta lógica está presente en la capa de API de ICM2/WCS.

Capa de almacenamiento específica del dispositivo

El almacenamiento de diferentes clases de dispositivos, como imprimir, capturar o mostrar, podría ser diferente entre sí. Por ejemplo, los datos de configuración de un dispositivo de impresión deben almacenarse mediante las API de impresión estándar, como SetPrinterDataEx y GetPrinterDataEx, para permitir que los perfiles se copien y la configuración se transfiera a un equipo cliente durante la conexión de punto e impresión. ? Esta capa exporta la funcionalidad para abrir el almacén, obtener datos, establecer datos y cerrar el almacén mediante interfaces predefinidas comunes para que la capa de almacenamiento de configuración de administración de perfiles pueda llamar a ellos mientras son transparentes en la forma en que se almacenan los datos para ese dispositivo.

El diagrama siguiente muestra esta arquitectura.

Capa de API pública de administración de perfiles

${ROWSPAN2}$Legacy API de ICM2 para operaciones que solo admiten el ámbito de administración de perfiles de todo el sistema en Vista (directorio de instalación, desinstalación y obtención de colores). Llaman a la capa de almacenamiento de configuración con el ámbito de almacenamiento adecuado.${REMOVE}$

API ICM2 heredada para operaciones que admiten el ámbito de administración de perfiles de usuario actual y en todo el sistema en Vista (todas las operaciones que no sean instalar, desinstalar y obtener el directorio de colores). Funcionan implícitamente en el ámbito del usuario actual y llaman a la nueva API de WCS con el ámbito de administración de perfiles como usuario actual.

Nueva API de WCS con compatibilidad con el ámbito de administración de perfiles de usuario actual y de todo el sistema. Llaman a la capa de almacenamiento de configuración con el ámbito de almacenamiento adecuado.

 

Capa de almacenamiento de configuración de administración de perfiles

Rutinas de configuración global independientes del dispositivo

Rutinas de configuración específicas del dispositivo

${ROWSPAN3}$Profile la instalación y la administración de la configuración de perfiles predeterminada independiente del dispositivo, compatible con el ámbito de almacenamiento del usuario actual y en todo el sistema.${REMOVE}$

Asociación de dispositivos y administración de configuración de perfiles predeterminada específica del dispositivo, compatible con el ámbito de almacenamiento del usuario actual y en todo el sistema.

capa de almacenamiento de Device-Specific

Imprimir almacenamiento específico

Mostrar almacenamiento específico

Capturar almacenamiento específico

 

Las API ICM2 heredadas para las operaciones que solo admiten el ámbito de administración de perfiles en todo el sistema en Vista no tienen ningún cambio en el comportamiento. Las operaciones de instalación y desinstalación se encuentran en esta categoría.

Las API ICM2 heredadas para las operaciones que admiten el ámbito de administración de perfiles de usuario actual y de todo el sistema tienen su comportamiento cambiado para consultar y configurar la configuración del usuario actual. Todas las operaciones que no sean instalar y desinstalar se encuentran en esta categoría.