次の方法で共有


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) プロファイルの場合、GDI は、アプリケーションがデバイス コンテキスト (DC) を作成するときに、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 のサポート

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

Requirements

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

こちらも参照ください