EnumColorProfilesW-Funktion (icm.h)
Listet alle Profile auf, die die angegebenen Enumerationskriterien erfüllen.
Syntax
BOOL EnumColorProfilesW(
PCWSTR pMachineName,
PENUMTYPEW pEnumRecord,
PBYTE pEnumerationBuffer,
PDWORD pdwSizeOfEnumerationBuffer,
PDWORD pnProfiles
);
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
Zeiger auf eine Struktur, die die Enumerationskriterien angibt.
pEnumerationBuffer
Zeiger auf einen Puffer, in dem die Profile aufgelistet werden sollen. In diesem Puffer wird eine MULTI_SZ Zeichenfolge von Profilnamen platziert, die die in *pEnumRecord angegebenen Kriterien erfüllen.
pdwSizeOfEnumerationBuffer
Zeiger auf eine Variable, die die Größe des Puffers enthält, auf den pBuffer verweist. Bei der Rückgabe enthält *pdwSize die Größe des tatsächlich verwendeten oder benötigten Puffers.
pnProfiles
Zeiger auf eine Variable, die bei der Rückgabe die Anzahl von Profilnamen enthält, die tatsächlich in den Puffer kopiert wurden.
Rückgabewert
Wenn diese Funktion erfolgreich ist, ist der Rückgabewert TRUE.
Wenn diese Funktion fehlschlägt, ist der Rückgabewert FALSE. Rufen Sie GetLastError auf, um erweiterte Fehlerinformationen zu erhalten.
Hinweise
Mehrere Profile sind in der Regel Druckern zugeordnet, basierend auf den Papier- und Freihandtypen. Es gibt ein Standardprofil für jedes Gerät. Für ICC-Profile (International Color Consortium) wählt GDI das beste aus den ICC-zugeordneten Profilen aus, wenn Ihre Anwendung einen Gerätekontext (Device Context, DC) erstellt.
Versuchen Sie nicht, EnumColorProfiles zu verwenden, um das Standardprofil für ein Gerät zu bestimmen. 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 vom pEnumRecord-Parameter verwiesen wird, auf ET_DEVICENAME festgelegt ist, listet diese Funktion unabhängig von der Geräteklasse alle Farbprofile auf, die allen Gerätetypen zugeordnet sind, die an den Computer des Benutzers angefügt sind. 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-Member der -Struktur angegeben ist, listet diese Funktion nur die Profile auf, die der angegebenen Geräteklasse zugeordnet sind. Wenn das dwFields-Element nur auf ET_DEVICECLASS festgelegt ist, listet die EnumColorProfiles-Funktion alle Profile auf, 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, die diesem Gerät zugeordnet sind, oder seine eigene Liste ("pro Benutzer") verwendet hat. Das Aufrufen von WcsSetUsePerUserProfiles mit dem usePerUserProfiles-Parameter , der auf TRUE festgelegt ist, 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 usePerUserProfiles-Parameter , der auf FALSE festgelegt ist, bewirkt, dass zukünftige Aufrufe von EnumColorProfiles die systemweite Liste der Profilzuordnungen für das angegebene Gerät anzeigen. Wenn WcsSetUsePerUserProfiles noch 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 aufgelistet sind. Sie sollte die EnumColorProfiles-Funktion aufrufen, wobei der pBuffer-Parameter auf NULL festgelegt ist. Wenn die Funktion zurückgibt, enthält der pdwSize-Parameter die erforderliche Puffergröße in Bytes. Ihr Programm kann diese Informationen verwenden, um den Enumerationspuffer zuzuordnen. 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 die konsistente Profilaufzählung zu aktivieren. Die Standardwerte sind identisch mit ICC, wenn diese Informationen nicht vorhanden sind.
Unterstützung pro Benutzer/LUA
Die Enumeration ist für den aktuellen Benutzer spezifisch. Sowohl systemweite als auch aktuelle Benutzergerätezuordnungen werden berücksichtigt. Bei der Standardprofilkonfiguration überschreiben aktuelle Benutzereinstellungen die systemweiten Einstellungen.
Anforderungen
Unterstützte Mindestversion (Client) | Windows 2000 Professional [nur Desktop-Apps] |
Unterstützte Mindestversion (Server) | Windows 2000 Server [nur Desktop-Apps] |
Kopfzeile | icm.h |