Freigeben über


EnumColorProfilesA-Funktion (icm.h)

Listet alle Profile auf, die die angegebenen Enumerationskriterien erfüllen.

Syntax

BOOL EnumColorProfilesA(
  PCSTR      pMachineName,
  PENUMTYPEA pEnumRecord,
  PBYTE      pEnumerationBuffer,
  PDWORD     pdwSizeOfEnumerationBuffer,
  PDWORD     pnProfiles
);

Die Parameter

pMachineName

Reserviert Muss NULL sein. Dieser Parameter soll auf den Namen des Computers verweisen, auf dem Profile aufgelistet werden sollen. Ein NULL-Zeiger gibt den lokalen Computer an.

pEnumRecord

Zeigen Sie auf eine Struktur, die die Enumerationskriterien angibt.

pEnumerationBuffer

Zeigen Sie auf einen Puffer, in dem die Profile aufgezählt werden sollen. Eine MULTI_SZ Zeichenfolge von Profilnamen, die die in *pEnumRecord angegebenen Kriterien erfüllen, wird in diesem Puffer platziert.

pdwSizeOfEnumerationBuffer

Zeiger auf eine Variable, die die Größe des Puffers enthält, auf den pBuffer verweist. Bei Rückgabe enthält *pdwSize die Größe des tatsächlich verwendeten oder benötigten Puffers.

pnProfiles

Zeigen Sie auf eine Variable, die im Gegenzug die Anzahl der Profilnamen enthält, die tatsächlich in den Puffer kopiert wurden.

Rückgabewert

Wenn diese Funktion erfolgreich ist, ist der Rückgabewert WAHR.

Wenn diese Funktion fehlschlägt, lautet der Rückgabewert FALSCH. Rufen Sie getLastError für erweiterte Fehlerinformationen auf.

Bemerkungen

Mehrere Profile sind in der Regel Druckern zugeordnet, basierend auf papier- und druckfarbenen Typen. Für jedes Gerät gibt es ein Standardprofil. Für International Color Consortium (ICC)-Profile wählt GDI das beste aus den ICC-zugehörigen Profilen aus, wenn Ihre Anwendung einen Gerätekontext (DC) erstellt.

Versuchen Sie nicht, EnumColorProfiles zu verwenden, um das Standardprofil für ein Gerät zu ermitteln. Erstellen Sie stattdessen einen Gerätekontext für das Gerät, und rufen Sie dann die GetICMProfile-Funktion auf. Unter Windows Vista und Windows 7 kann die WcsGetDefaultColorProfile-Funktion auch verwendet werden, um das Standardfarbprofil eines Geräts zu bestimmen.

Wenn das dwFields-Element der Struktur des Typs "ENUMTYPE ", auf das der Parameter "pEnumRecord " verweist, auf ET_DEVICENAME festgelegt ist, werden mit dieser Funktion alle Farbprofile aufgelistet, die allen Gerätetypen zugeordnet sind, die an den Computer des Benutzers angefügt sind, unabhängig von der Geräteklasse. Wenn das dwFields-Element der Struktur, auf die der pEnumRecord-Parameter verweist, auf ET_DEVICENAME oder ET_DEVICECLASS festgelegt ist und eine Geräteklasse im dwDeviceClass-Element der Struktur angegeben ist, werden mit dieser Funktion nur die Profile aufgelistet, die der angegebenen Geräteklasse zugeordnet sind. Wenn der dwFields-Member nur auf ET_DEVICECLASS festgelegt ist, werden mit der EnumColorProfiles-Funktion alle Profile aufgelistet, die diesem Gerätetyp zugeordnet werden können.

Wenn EnumColorProfiles die profile untersucht, die einem bestimmten Gerät zugeordnet sind, hängen die Ergebnisse davon ab, ob der Benutzer die systemweite Liste der profile verwendet hat, die mit diesem Gerät verknüpft sind, oder seine eigene Liste ("pro Benutzer"). Das Aufrufen von WcsSetUsePerUserProfiles mit dem Parameter "usePerUserProfiles " auf "TRUE " bewirkt, dass zukünftige Aufrufe von EnumColorProfiles nur die benutzerspezifische Liste der Profilzuordnungen des aktuellen Benutzers für das angegebene Gerät anzeigen. Das Aufrufen von WcsSetUsePerUserProfiles mit dem Parameter "usePerUserProfiles " auf FALSE bewirkt, dass zukünftige Aufrufe von EnumColorProfiles in der systemweiten Liste der Profilzuordnungen für das angegebene Gerät angezeigt werden. Wenn WcsSetUsePerUserProfiles nie für den aktuellen Benutzer aufgerufen wurde, untersucht EnumColorProfiles die systemweite Liste.

Ihre Anwendung kann EnumColorProfiles verwenden, um die Größe des Puffers abzurufen, in dem die Profile aufgezählt werden. Sie sollte die EnumColorProfiles-Funktion aufrufen, wobei der pBuffer-Parameter auf NULL festgelegt ist. Wenn die Funktion zurückgegeben wird, enthält der parameter pdwSize die erforderliche Puffergröße in Byte. Ihr Programm kann diese Informationen verwenden, um den Enumerationspuffer zuzuweisen. Anschließend kann EnumColorProfiles erneut aufgerufen werden, wobei der pBuffer-Parameter auf die Adresse des Puffers festgelegt ist.

Diese Funktion stellt die Informationen zum Konvertieren von WCS-spezifischen DMP-Informationen in den EnumType-Legacydatensatz bereit, um eine konsistente Profilenumeration zu ermöglichen. Die Standardwerte entsprechen dem ICC, wenn diese Informationen nicht vorhanden sind.

Pro Benutzer/LUA-Unterstützung

Die Enumeration ist spezifisch für den aktuellen Benutzer. Sowohl systemweite als auch aktuelle Benutzergerätezuordnungen werden berücksichtigt. Bei der Standardprofilkonfiguration überschreiben aktuelle Benutzereinstellungen systemweite Einstellungen.

Anforderungen

Anforderung Wert
Mindestens unterstützter Client Windows 2000 Professional [nur Desktop-Apps]
Mindestanforderungen für unterstützte Server Windows 2000 Server [nur Desktop-Apps]
Header icm.h
Library Mscms.Lib

Siehe auch