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 |
---|---|
|
Öffnet das Profil für Lesezugriff. |
|
Ö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 |
---|---|
|
Andere Geöffnete Vorgänge können für das Profil für den Lesezugriff ausgeführt werden. |
|
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 |
---|---|
|
Erstellt ein neues Profil. Tritt ein Fehler auf, wenn das Profil bereits vorhanden ist. |
|
Erstellt ein neues Profil. Überschreibt das Profil, sofern vorhanden. |
|
Öffnet das Profil. Fehler, wenn es nicht vorhanden ist |
|
Ö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. |
|
Ö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 |