次の方法で共有


PRINTER_INFO_4構造体

PRINTER_INFO_4構造体は、一般的なプリンター情報を指定します。

構造体を使用すると、 EnumPrinters の呼び出しに関する最小限のプリンター情報を取得できます。 このような呼び出しは、システムにローカルにインストールされているすべてのプリンターの名前と属性を取得し、ユーザーが確立したすべてのリモート プリンター接続を迅速かつ簡単に取得する方法です。

構文

typedef struct _PRINTER_INFO_4 {
  LPTSTR pPrinterName;
  LPTSTR pServerName;
  DWORD  Attributes;
} PRINTER_INFO_4, *PPRINTER_INFO_4;

メンバー

pPrinterName

プリンターの名前 (ローカルまたはリモート) を指定する null で終わる文字列へのポインター。

pServerName

サーバーの名前である null で終わる文字列へのポインター。

属性

返されるデータに関する情報を指定します。

説明
PRINTER_ATTRIBUTE_LOCAL プリンターはローカル プリンターです。
PRINTER_ATTRIBUTE_NETWORK プリンターはリモート プリンターです。

解説

PRINTER_INFO_4構造を使用すると、ローカル コンピューターにインストールされているプリンターの名前と、ユーザーが確立したリモート接続を簡単かつ高速に取得できます。 EnumPrintersPRINTER_INFO_4データ構造で呼び出されると、その関数は指定された情報をレジストリに照会し、すぐにを返します。 これは、他のレベルのPRINTER_INFO_xxxデータ構造と共に呼び出された場合の EnumPrinters の動作とは異なります。 特に、 EnumPrinters がレベル 2 (PRINTER_INFO_2 ) データ構造で呼び出されると、各リモート接続で OpenPrinter 呼び出しが実行されます。 リモート接続がダウンしている場合、リモート サーバーが存在しない場合、またはリモート プリンターが存在しない場合、関数は RPC がタイムアウトするのを待機し、 OpenPrinter 呼び出しに失敗する必要があります。 これには、しばらく時間がかかる場合があります。 PRINTER_INFO_4構造体を渡すと、アプリケーションは最低限必要な情報を取得できます。より詳細な情報が必要な場合は、後続の EnumPrinter レベル 2 呼び出しを行うことができます。

属性には、PRINTER_INFO_2の [属性] フィールドで定義されている値を含めることもできます。

一部の Windows ベース以外のプリント サーバーへのプリンター接続など、一部のプリンター構成では、 PRINTER_ATTRIBUTE_LOCALPRINTER_ATTRIBUTE_NETWORKの両方が返される場合があります。

必要条件

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

関連項目

印刷

印刷スプーラー API 構造体

GetPrinter

EnumPrinters

OpenPrinter

PRINTER_INFO_1

PRINTER_INFO_2

PRINTER_INFO_3