Condividi tramite


Funzione OpenColorProfileW (icm.h)

Crea un handle in un profilo di colore specificato. L'handle può quindi essere usato in altre funzioni di gestione del profilo.

Sintassi

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

Parametri

pProfile

Puntatore a una struttura del profilo di colore che specifica il profilo. Il puntatore pProfile può essere liberato non appena viene creato l'handle.

dwDesiredAccess

Specifica come accedere al profilo specificato. Questo parametro deve accettare uno dei valori costanti seguenti.

Valore Significato
PROFILE_READ
Apre il profilo per l'accesso in lettura.
PROFILE_READWRITE
Apre il profilo per l'accesso in lettura e scrittura. Non ha alcun effetto per i profili XML WCS.

dwShareMode

Specifica come deve essere condiviso il profilo, se il profilo è contenuto in un file. Un valore pari a zero impedisce la condivisione del profilo. Il parametro può contenere una o entrambe le costanti seguenti (combinate con l'aggiunta o l'OR logico).

Valore Significato
FILE_SHARE_READ
Altre operazioni aperte possono essere eseguite sul profilo per l'accesso in lettura.
FILE_SHARE_WRITE
Altre operazioni aperte possono essere eseguite sul profilo per l'accesso in scrittura. Non ha alcun effetto per i profili XML WCS.

dwCreationMode

Specifica le azioni da eseguire sul profilo durante l'apertura, se contenuto in un file. Questo parametro deve accettare uno dei valori costanti seguenti.

Valore Significato
CREATE_NEW
Crea un nuovo profilo. Ha esito negativo se il profilo esiste già.
CREATE_ALWAYS
Crea un nuovo profilo. Sovrascrive il profilo se esiste.
OPEN_EXISTING
Apre il profilo. Ha esito negativo se non esiste
OPEN_ALWAYS
Apre il profilo se esiste. Per i profili ICC, se il profilo non esiste, crea il profilo. Per i profili XML WCS, se il profilo non esiste, restituisce un errore.
TRUNCATE_EXISTING
Apre il profilo e lo tronca su zero byte, restituendo un profilo ICC vuoto. Ha esito negativo se il profilo non esiste.

Valore restituito

Se questa funzione ha esito positivo, il valore restituito è l'handle del profilo di colore aperto. Per i profili ICC e WCS, un CAMP e GMMP vengono forniti dalla funzione in base al campo predefinito corrente e GMMP nel Registro di sistema.

Quando OpenColorProfile rileva un profilo ICC con un profilo WCS incorporato e se il membro dwType all'interno della struttura Profile non accetta il valore DONT_USE_EMBEDDED_WCS_PROFILES, deve estrarre e usare i profili WCS contenuti in questo WcsProfilesTag. HPROFILE restituito sarebbe un WCS HPROFILE.

Se questa funzione ha esito negativo, il valore restituito è NULL. Per informazioni sull'errore estese, chiamare GetLastError.

Commenti

Se i dati del profilo non vengono specificati usando un nome file, dwShareMode e dwCreationMode vengono ignorati .

dwCreationMode flags CREATE_NEW, CREATE_ALWAYS e TRUNCATE_EXISTING, restituirà sempre HPROFILEs ICC vuoto. Se sono presenti altri flag dwCreationMode , InternalOpenColorProfile viene chiamato (usando i flag forniti dall'API) per determinare se il profilo è ICC o WCS XML.

All'interno del percorso del codice ICC viene restituito un HPROFILE ICC usando i flag di condivisione, accesso e creazione richiesti come specificato nelle tabelle precedenti.

Nel percorso WCS il flag dwCreationMode OPEN_ALWAYS avrà esito negativo se il profilo non esiste, poiché i profili WCS non possono essere creati o modificati all'interno dell'architettura WCS (devono essere modificati all'esterno di esso, usando MSXML6). Per lo stesso motivo, il flag dwShareMode FILE_SHARE_WRITE e il flag dwDesiredAccess PROFILE_READWRITE vengono ignorati all'interno del percorso WCS.

Quando la funzione apre il profilo ICC, cercherà un WcsProfilesTag e, se presente, estraerà e userà i profili WCS originali contenuti in esso. Vedere WcsCreateIccProfile.

Un file HPROFILE con informazioni sul profilo WCS viene derivato da un DMP acquisendo il campo predefinito e il gmMP predefinito dal Registro di sistema. HPROFILE è una composizione di DMP, CAMP e GMMP.

Dopo aver creato l'handle al profilo di colore, tutte le informazioni usate per creare tale handle possono essere eliminate.

Usare la funzione CloseColorProfile per chiudere un handle di oggetti restituito da OpenColorProfile.

Requisiti

   
Client minimo supportato Windows 2000 Professional [solo app desktop]
Server minimo supportato Windows 2000 Server [solo app desktop]
Intestazione icm.h
Libreria Mscms.lib
DLL Mscms.dll

Vedi anche