Condividi tramite


Funzione EnumColorProfilesW (icm.h)

Enumera tutti i profili che soddisfano i criteri di enumerazione specificati.

Sintassi

BOOL EnumColorProfilesW(
  PCWSTR     pMachineName,
  PENUMTYPEW pEnumRecord,
  PBYTE      pEnumerationBuffer,
  PDWORD     pdwSizeOfEnumerationBuffer,
  PDWORD     pnProfiles
);

Parametri

pMachineName

Riservato. Deve essere NULL. Questo parametro è destinato a puntare al nome del computer in cui enumerare i profili. Un puntatore NULL indica il computer locale.

pEnumRecord

Puntatore a una struttura che specifica i criteri di enumerazione.

pEnumerationBuffer

Puntatore a un buffer in cui devono essere enumerati i profili. Una stringa MULTI_SZ dei nomi di profilo che soddisfano i criteri specificati in *pEnumRecord verrà inserita in questo buffer.

pdwSizeOfEnumerationBuffer

Puntatore a una variabile contenente le dimensioni del buffer a cui fa riferimento pBuffer. In caso di restituzione, *pdwSize contiene le dimensioni del buffer effettivamente usate o necessarie.

pnProfiles

Puntatore a una variabile che conterrà, in caso di restituzione, il numero di nomi di profilo effettivamente copiati nel buffer.

Valore restituito

Se questa funzione ha esito positivo, il valore restituito è TRUE.

Se questa funzione ha esito negativo, il valore restituito è FALSE. Per informazioni sull'errore estese, chiamare GetLastError.

Commenti

Diversi profili sono in genere associati alle stampanti, in base ai tipi di carta e input penna. Per ogni dispositivo è presente un profilo predefinito. Per i profili International Color Consortium (ICC), GDI seleziona i profili migliori dei profili associati a ICC quando l'applicazione crea un contesto del dispositivo (DC).

Non tentare di usare EnumColorProfiles per determinare il profilo predefinito per un dispositivo. Creare invece un contesto del dispositivo per il dispositivo e quindi richiamare la funzione GetICMProfile . In Windows Vista e Windows 7, la funzione WcsGetDefaultColorProfile può essere usata anche per determinare il profilo di colore predefinito di un dispositivo.

Se il membro dwFields della struttura di tipo ENUMTYPE a cui punta il parametro pEnumRecord è impostato su ET_DEVICENAME, questa funzione enumera tutti i profili di colore associati a tutti i tipi di dispositivi collegati al computer dell'utente, indipendentemente dalla classe del dispositivo. Se il membro dwFields della struttura puntato dal parametro pEnumRecord è impostato su ET_DEVICENAME o ET_DEVICECLASS e una classe di dispositivo viene specificata nel membro dwDeviceClass della struttura, questa funzione enumererà solo i profili associati alla classe di dispositivo specificata. Se il membro dwFields è impostato solo su ET_DEVICECLASS, la funzione EnumColorProfiles enumera tutti i profili che possono essere associati a quel tipo di dispositivo.

Ogni volta che EnumColorProfiles esamina i profili associati a un dispositivo specifico, i risultati dipendono dal fatto che l'utente abbia scelto di usare l'elenco a livello di sistema di profili associati a tale dispositivo o il proprio elenco ("per utente"). La chiamata a WcsSetUsePerUserProfiles con il relativo parametro usePerUserProfiles impostata su TRUE causa le chiamate future a EnumColorProfiles per esaminare solo l'elenco per utente corrente delle associazioni di profili per il dispositivo specificato. La chiamata a WcsSetUsePerUserProfiles con il relativo parametro usePerUserProfiles impostata su FALSE causa chiamate future a EnumColorProfiles per esaminare l'elenco a livello di sistema delle associazioni di profilo per il dispositivo specificato. Se WcsSetUsePerUserProfiles non è mai stato chiamato per l'utente corrente, EnumColorProfiles esamina l'elenco a livello di sistema.

L'applicazione può usare EnumColorProfiles per ottenere le dimensioni del buffer in cui vengono enumerati i profili. Deve chiamare la funzione EnumColorProfiles con il parametro pBuffer impostato su NULL. Quando la funzione restituisce, il parametro pdwSize conterrà le dimensioni del buffer necessarie in byte. Il programma può usare queste informazioni per allocare il buffer di enumerazione. Può quindi richiamare nuovamente EnumColorProfile con il parametro pBuffer impostato sull'indirizzo del buffer.

Questa funzione fornirà le informazioni per la conversione di informazioni DMP specifiche di WCS nel record EnumType legacy in abilitare l'enumerazione del profilo coerente. Le impostazioni predefinite saranno uguali a ICC se queste informazioni non sono presenti.

Supporto per utente/LUA

L'enumerazione è specifica per l'utente corrente. Vengono considerate sia le associazioni di dispositivi utente a livello di sistema che correnti. Per la configurazione predefinita del profilo, le impostazioni utente correnti sostituiscono quelle a livello di sistema.

Requisiti

   
Client minimo supportato Windows 2000 Professional [solo app desktop]
Server minimo supportato Windows 2000 Server [solo app desktop]
Intestazione icm.h

Vedi anche