次の方法で共有


EnumColorProfilesW 関数 (icm.h)

指定された列挙条件を満たすすべてのプロファイルを列挙します。

構文

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

パラメーター

pMachineName

予約済み。 NULL にする必要があります。 このパラメーターは、プロファイルを列挙するコンピューターの名前を指すことを目的としています。 NULL ポインターは、ローカル コンピューターを示します。

pEnumRecord

列挙条件を指定する構造体へのポインター。

pEnumerationBuffer

プロファイルを列挙するバッファーへのポインター。 *pEnumRecord で指定された条件を満たすプロファイル名のMULTI_SZ文字列が、このバッファーに配置されます。

pdwSizeOfEnumerationBuffer

pBuffer が指すバッファーのサイズを含む変数へのポインター。 戻り値の 場合、*pdwSize には、実際に使用または必要なバッファーのサイズが含まれます。

pnProfiles

戻り値として、バッファーに実際にコピーされたプロファイル名の数を格納する変数へのポインター。

戻り値

この関数が成功した場合、戻り値は TRUE になります

この関数が失敗した場合、戻り値は FALSE になります。 拡張エラー情報については、 GetLastError を呼び出します。

解説

通常、いくつかのプロファイルは、用紙とインクの種類に基づいてプリンターに関連付けられます。 デバイスごとに既定のプロファイルがあります。 INTERNATIONAL Color Consortium (ICC) プロファイルの場合、アプリケーションがデバイス コンテキスト (DC) を作成するときに、GDI は ICC に関連付けられたプロファイルから最適なものを選択します。

EnumColorProfiles を使用してデバイスの既定のプロファイルを決定しようとしないでください。 代わりに、デバイスのデバイス コンテキストを作成し、 GetICMProfile 関数を呼び出します。 Windows Vista および Windows 7 では、 WcsGetDefaultColorProfile 関数を使用して、デバイスの既定のカラー プロファイルを決定することもできます。

pEnumRecord パラメーターが指す ENUMTYPE 型の構造体の dwFields メンバーが ET_DEVICENAME に設定されている場合、この関数は、デバイス クラスに関係なく、ユーザーのコンピューターに接続されているすべての種類のデバイスに関連付けられているすべての色プロファイルを列挙します。 pEnumRecord パラメーターが指す構造体の dwFields メンバーが ET_DEVICENAME または ET_DEVICECLASS に設定されていて、構造体の dwDeviceClass メンバーにデバイス クラスが指定されている場合、この関数は、指定されたデバイス クラスに関連付けられているプロファイルのみを列挙します。 dwFields メンバーが ET_DEVICECLASS のみに設定されている場合、EnumColorProfiles 関数は、その種類のデバイスに関連付けることができるすべてのプロファイルを列挙します。

EnumColorProfiles が特定のデバイスに関連付けられているプロファイルを調べるたびに、結果は、ユーザーがそのデバイスに関連付けられているプロファイルのシステム全体の一覧を使用することを選択したか、または自分の ("ユーザーごと") リストを使用したかによって異なります。 usePerUserProfiles パラメーターを TRUE に設定して WcsSetUsePerUserProfiles を呼び出すと、EnumColorProfiles への今後の呼び出しで、指定されたデバイスのプロファイル関連付けの現在のユーザーごとの一覧のみが表示されます。 usePerUserProfiles パラメーターを FALSE に設定して WcsSetUsePerUserProfiles を呼び出すと、EnumColorProfiles への今後の呼び出しで、指定されたデバイスのプロファイル関連付けのシステム全体の一覧が表示されます。 現在のユーザーに対して WcsSetUsePerUserProfiles が呼び出されたことがない場合、EnumColorProfiles はシステム全体のリストを調べます。

アプリケーションで EnumColorProfiles を使用して、プロファイルが列挙されるバッファーのサイズを取得できます。 pBuffer パラメーターを NULL に設定して EnumColorProfiles 関数を呼び出す必要があります。 関数が戻るときに、 pdwSize パラメーターには必要なバッファー サイズ (バイト単位) が含まれます。 プログラムでは、その情報を使用して列挙バッファーを割り当てることができます。 その後、pBuffer パラメーターをバッファーのアドレスに設定して EnumColorProfiles を再度呼び出すことができます。

この関数は、WCS 固有の DMP 情報を、一貫性のあるプロファイル列挙を有効にするに関する記事のレガシ EnumType レコードに変換するための情報を提供します。 この情報が存在しない場合、既定値は ICC と同じになります。

ユーザーごと/LUA のサポート

列挙体は、現在のユーザーに固有です。 システム全体と現在のユーザー デバイスの関連付けの両方が考慮されます。 既定のプロファイル構成では、現在のユーザー設定がシステム全体の設定よりも優先されます。

要件

   
サポートされている最小のクライアント Windows 2000 Professional [デスクトップ アプリのみ]
サポートされている最小のサーバー Windows 2000 Server [デスクトップ アプリのみ]
Header icm.h

関連項目