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 Color de Windows 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 a 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 mediante GetStandardColorSpaceProfileW. |
UninstallColorProfileW | Quita un perfil de color especificado de un equipo especificado. Los archivos asociados se eliminan opcionalmente del sistema. |
anular el registroCMMW | Desasocia un valor de identificador especificado de una biblioteca de vínculos dinámicos del módulo de administración de colores determinado (DLL de CMM). |
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 el WcsEnumColorProfiles función para enumerar 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 de NULL de. |
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 por perfil de 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 de 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 que usan los algoritmos de procesamiento de colores 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 distintas 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:
- Instalar perfiles de color para su uso en el sistema.
- Asociación de uno o varios perfiles de color instalados con cualquier dispositivo determinado.
- Elegir un perfil de color predeterminado de un tipo determinado entre los perfiles disponibles para su uso en una fase determinada del procesamiento de colores. Esto podría ser para un dispositivo entre los perfiles asociados, o entre los perfiles instalados en el sistema y no específicos del dispositivo.
- Enumeración de perfiles de color que cumplen determinados criterios entre los perfiles instalados en el sistema.
Las extensiones de nombre de archivo de perfil de WCS son ".cdmp" para DMV, ".camp" para CAMP y ".gmmp" para 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:
- 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.
- 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 modifiquen 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:
- Habilita la asociación de perfiles con dispositivos, la configuración de perfil predeterminada y la enumeración de perfiles tanto en el ámbito por usuario como en todo el sistema.
- La instalación de un perfil sigue siendo amplia para el sistema y requiere privilegios de administrador. Esto es coherente con la instalación del perfil 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 impresora 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 el contexto de cola.
- 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 leer información de configuración se pueden realizar en el contexto lua tanto para la configuración por usuario como para todo el sistema.
El ámbito de administración de perfiles indica el ámbito de las operaciones realizadas; ya sea por usuario o por sistema.
Para cada operación, se indica si se puede realizar desde el contexto 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 el Panel de control de administración de colores, pueden permitir al usuario elevarse al contexto administrativo (mediante la interfaz de usuario de consentimiento o OTS) 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 el ámbito de usuario actual y en todo el sistema para todos los usuarios.
Durante la instalación del controlador de dispositivo, regido por las directivas de instalación de controladores. No, de lo contrario.
Usuario actual
No se admite
${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 es enumerable en ningún ámbito.
No
Usuario actual
No se admite
${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 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 está asociado al dispositivo.
No
Usuario actual
El perfil está instalado. No importa si el perfil ya está asociado al dispositivo en el ámbito de todo el sistema y es de tipo ICC o CDMP.
El perfil está disponible para su uso con el dispositivo por el usuario actual. Solo es enumerable en el ámbito del usuario actual (a menos que también haya una asociación para todo el sistema) como asociada al dispositivo.
Sí
${ROWSPAN2}$Disassociate perfil del dispositivo${REMOVE}$
Todo el sistema
El perfil está asociado al dispositivo en el ámbito de 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 es enumerable en el ámbito de 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 el ámbito de 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).
Sí
${ROWSPAN2}$Set perfil de 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 al sistema del dispositivo en todo el sistema, 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 determinado 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 la combinación de subtipos como valor predeterminado global${REMOVE}$
Todo el sistema
Solo se pueden asociar perfiles ICC y CDMP 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 se pueden asociar perfiles ICC y CDMP 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.
Sí
${ROWSPAN2}$Enumerate perfiles instalados que cumplen 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 el ámbito de todo el sistema.
Sí
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 el ámbito de todo el sistema.
Sí
${ROWSPAN2}$Enumerate perfiles asociados a un dispositivo determinado que cumple 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.
Los perfiles asociados al dispositivo en el ámbito de todo el sistema y cumplen los criterios especificados en el ámbito de todo el sistema se enumeran.
Sí
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.
Sí
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 o 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. Consulte Nota.
Los CPT_ICC y CPT_DMP COLORPROFILETYPE 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. Consulte Nota.
Los CPT_ICC y CPT_DMP COLORPROFILETYPE 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 de WCS que defina el ámbito de administración de perfiles como usuario actual o amplio 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 compatibles con el ámbito de usuario actual y amplio del sistema 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 distintos 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 distintos tipos de perfil. ? Las implementaciones subyacentes del almacenamiento de datos de configuración toman el ámbito de almacenamiento para los datos de configuración (ya sean independientes del dispositivo o 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 de todo el sistema si la configuración actual del usuario para esa operación no está presente. ? La capa de API de ICM2/WCS llama a 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 API. Esta lógica está presente en la capa de API de ICM2/WCS.
Capa de almacenamiento específica del dispositivo
El almacenamiento para 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 API de impresión estándar, como SetPrinterDataEx y GetPrinterDataEx, para permitir que los perfiles se copien y la configuración se transfieran 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 es transparente en la forma en que los datos se almacenan para ese dispositivo.
En el diagrama siguiente se 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 (instalar, desinstalar y obtener el directorio 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 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 instalación y administración de perfiles predeterminados independientes del dispositivo, compatibles con el ámbito de almacenamiento de usuario actual y de todo el sistema.${REMOVE}$
Asociación de dispositivos y administración de la configuración de perfil 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
Captura de almacenamiento específico
Las API ICM2 heredadas para las operaciones que solo admiten el ámbito de administración de perfiles de 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.