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 |
---|---|
|
Apre il profilo per l'accesso in lettura. |
|
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 |
---|---|
|
Altre operazioni aperte possono essere eseguite sul profilo per l'accesso in lettura. |
|
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 |
---|---|
|
Crea un nuovo profilo. Ha esito negativo se il profilo esiste già. |
|
Crea un nuovo profilo. Sovrascrive il profilo se esiste. |
|
Apre il profilo. Ha esito negativo se non esiste |
|
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. |
|
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 |