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構造を使用すると、ローカル コンピューターにインストールされているプリンターの名前と、ユーザーが確立したリモート接続を簡単かつ高速に取得できます。 EnumPrinters がPRINTER_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_LOCAL と PRINTER_ATTRIBUTE_NETWORKの両方が返される場合があります。
必要条件
要件 | 値 |
---|---|
サポートされている最小のクライアント |
Windows 2000 Professional [デスクトップ アプリのみ] |
サポートされている最小のサーバー |
Windows 2000 Server [デスクトップ アプリのみ] |
ヘッダー |
|
Unicode 名と ANSI 名 |
_PRINTER_INFO_4W (Unicode) と _PRINTER_INFO_4A (ANSI) |