Freigeben über


OpenColorProfileW-Funktion (icm.h)

Erstellt ein Handle für ein angegebenes Farbprofil. Das Handle kann dann in anderen Profilverwaltungsfunktionen verwendet werden.

Syntax

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

Parameter

pProfile

Zeiger auf eine Farbprofilstruktur, die das Profil angibt. Der pProfile-Zeiger kann freigegeben werden, sobald das Handle erstellt wurde.

dwDesiredAccess

Gibt an, wie auf das angegebene Profil zugegriffen werden soll. Dieser Parameter muss einen der folgenden konstanten Werte annehmen.

Wert Bedeutung
PROFILE_READ
Öffnet das Profil für Lesezugriff.
PROFILE_READWRITE
Öffnet das Profil für Lese- und Schreibzugriff. Hat keine Auswirkungen auf WCS-XML-Profile.

dwShareMode

Gibt an, wie das Profil freigegeben werden soll, wenn das Profil in einer Datei enthalten ist. Der Wert 0 verhindert, dass das Profil überhaupt freigegeben wird. Der Parameter kann eine oder beide der folgenden Konstanten (kombiniert durch Addition oder logisches OR) enthalten.

Wert Bedeutung
FILE_SHARE_READ
Andere Geöffnete Vorgänge können für das Profil für den Lesezugriff ausgeführt werden.
FILE_SHARE_WRITE
Andere Geöffnete Vorgänge können für das Profil für den Schreibzugriff ausgeführt werden. Hat keine Auswirkungen auf WCS-XML-Profile.

dwCreationMode

Gibt an, welche Aktionen beim Öffnen des Profils ausgeführt werden sollen, wenn es in einer Datei enthalten ist. Dieser Parameter muss einen der folgenden konstanten Werte annehmen.

Wert Bedeutung
CREATE_NEW
Erstellt ein neues Profil. Tritt ein Fehler auf, wenn das Profil bereits vorhanden ist.
CREATE_ALWAYS
Erstellt ein neues Profil. Überschreibt das Profil, sofern vorhanden.
OPEN_EXISTING
Öffnet das Profil. Fehler, wenn es nicht vorhanden ist
OPEN_ALWAYS
Öffnet das Profil, sofern vorhanden. Wenn das Profil für ICC-Profile nicht vorhanden ist, wird das Profil erstellt. Wenn das Profil für WCS-XML-Profile nicht vorhanden ist, wird ein Fehler zurückgegeben.
TRUNCATE_EXISTING
Öffnet das Profil, schneidet es auf null Bytes ab und gibt ein leeres ICC-Profil zurück. Tritt ein Fehler auf, wenn das Profil nicht vorhanden ist.

Rückgabewert

Wenn diese Funktion erfolgreich ist, ist der Rückgabewert das Handle des geöffneten Farbprofils. Für ICC- und WCS-Profile werden ein CAMP und GMMP von der Funktion basierend auf dem aktuellen Standard-CAMP und GMMP in der Registrierung bereitgestellt.

Wenn OpenColorProfile auf ein ICC-Profil mit einem eingebetteten WCS-Profil trifft und das dwType-Element innerhalb der Profilstruktur den Wert nicht DONT_USE_EMBEDDED_WCS_PROFILES verwendet, sollte es die WCS-Profile extrahieren und verwenden, die in diesem WcsProfilesTag enthalten sind. Das zurückgegebene HPROFILE wäre ein WCS HPROFILE.

Wenn diese Funktion fehlschlägt, ist der Rückgabewert NULL. Rufen Sie GetLastError auf, um erweiterte Fehlerinformationen zu erhalten.

Hinweise

Wenn die Profildaten nicht mit einem Dateinamen angegeben werden, werden dwShareMode und dwCreationMode ignoriert.

dwCreationMode-Flags CREATE_NEW, CREATE_ALWAYS und TRUNCATE_EXISTING geben immer leere ICC HPROFILEs zurück. Wenn andere dwCreationMode-Flags vorhanden sind, wird InternalOpenColorProfile aufgerufen (unter Verwendung der Flags, wie von der API bereitgestellt), um zu bestimmen, ob das Profil ICC- oder WCS-XML ist.

Innerhalb des ICC-Codepfads wird ein ICC HPROFILE mithilfe der angeforderten Freigabe-, Zugriffs- und Erstellungsflags zurückgegeben, wie in den obigen Tabellen angegeben.

Innerhalb des WCS-Pfads schlägt das dwCreationMode-Flag OPEN_ALWAYS fehl, wenn das Profil nicht vorhanden ist, da WCS-Profile nicht innerhalb der WCS-Architektur erstellt oder bearbeitet werden können (sie müssen außerhalb der Datei mit MSXML6 bearbeitet werden). Aus dem gleichen Grund werden dwShareMode-Flags FILE_SHARE_WRITE und dwDesiredAccess-Flag PROFILE_READWRITE innerhalb des WCS-Pfads ignoriert.

Wenn die Funktion das ICC-Profil öffnet, sucht sie nach einem WcsProfilesTag . Falls vorhanden, extrahiert und verwendet sie die darin enthaltenen ursprünglichen WCS-Profile. (Siehe WcsCreateIccProfile.)

Ein HPROFILE mit WCS-Profilinformationen wird von einem DMP abgeleitet, indem das Standard-CAMP und der Standard-GMMP aus der Registrierung abgerufen werden. Ein HPROFILE ist eine Zusammensetzung aus DMP, CAMP und GMMP.

Nachdem das Handle für das Farbprofil erstellt wurde, können alle Informationen, die zum Erstellen dieses Handles verwendet werden, gelöscht werden.

Verwenden Sie die CloseColorProfile-Funktion , um ein von OpenColorProfile zurückgegebenes Objekthandle zu schließen.

Anforderungen

   
Unterstützte Mindestversion (Client) Windows 2000 Professional [nur Desktop-Apps]
Unterstützte Mindestversion (Server) Windows 2000 Server [nur Desktop-Apps]
Kopfzeile icm.h
Bibliothek Mscms.lib
DLL Mscms.dll

Weitere Informationen