次の方法で共有


EnumPrintProcessors 関数

EnumPrintProcessors 関数は、指定したサーバーにインストールされている印刷プロセッサを列挙します。

構文

BOOL EnumPrintProcessors(
  _In_  LPTSTR  pName,
  _In_  LPTSTR  pEnvironment,
  _In_  DWORD   Level,
  _Out_ LPBYTE  pPrintProcessorInfo,
  _In_  DWORD   cbBuf,
  _Out_ LPDWORD pcbNeeded,
  _Out_ LPDWORD pcReturned
);

パラメーター

pName [in]

印刷プロセッサが存在するサーバーの名前を指定する null で終わる文字列へのポインター。 このパラメーターが NULL の場合、ローカル印刷プロセッサが列挙されます。

pEnvironment [in]

環境を指定する null で終わる文字列へのポインター (Windows x86、Windows IA64、Windows x64 など)。 このパラメーターが NULL の場合は、呼び出し元のアプリケーションとクライアント コンピューターの現在の環境 (移行先アプリケーションとプリント サーバーではなく) が使用されます。

レベル [入力]

pPrintProcessorInfo バッファーで返される情報の種類。 このパラメーターは 1 である必要があります。

pPrintProcessorInfo [out]

PRINTPROCESSOR_INFO_1構造体の配列を受け取るバッファーへのポインター。 各構造体では、使用可能な印刷プロセッサについて説明します。 バッファーは、構造体の配列と構造体メンバーが指す文字列を受け取るのに十分な大きさにする必要があります。

必要なバッファー サイズを確認するには、cbBuf を 0 に設定して EnumPrintProcessors を呼び出します。 EnumPrintProcessors は失敗し、 GetLastError は ERROR_INSUFFICIENT_BUFFERを返し、 pcbNeeded パラメーターは構造体とそのデータの配列を保持するために必要なバッファーのサイズ (バイト単位) を返します。

cbBuf [in]

pPrintProcessorInfo が指すバッファーのサイズ (バイト単位)。

pcbNeeded [out]

関数が成功した場合に pPrintProcessorInfo バッファーにコピーされたバイト数を受け取る変数へのポインター。 バッファーが小さすぎると、関数は失敗し、変数は必要なバイト数を受け取ります。

pcReturned [out]

pPrintProcessorInfo バッファーで返される構造体の数を受け取る変数へのポインター。

戻り値

関数が成功した場合、戻り値は 0 以外の値になります。

関数が失敗した場合は、0 を返します。

注釈

注意

これはブロック関数または同期関数であり、すぐには返されない可能性があります。 この関数が返す速度は、ネットワーク状態、プリント サーバーの構成、プリンター ドライバーの実装要因など、アプリケーションの作成時に予測が困難な実行時の要因によって異なります。 ユーザー インターフェイスとの対話を管理するスレッドからこの関数を呼び出すと、アプリケーションが応答しなくなる可能性があります。

要件

要件
サポートされている最小のクライアント
Windows 2000 Professional [デスクトップ アプリのみ]
サポートされている最小のサーバー
Windows 2000 Server [デスクトップ アプリのみ]
ヘッダー
Winspool.h (Windows.h を含む)
ライブラリ
Winspool.lib
[DLL]
Winspool.drv
Unicode 名と ANSI 名
EnumPrintProcessorsW (Unicode) と EnumPrintProcessorsA (ANSI)

関連項目

印刷

印刷スプーラー API 関数

AddPrintProcessor

EnumPrintProcessorDatatypes

PRINTPROCESSOR_INFO_1