EnumPrinterDataEx 関数

EnumPrinterDataEx 関数は、指定されたプリンターとキーのすべての値の名前とデータを列挙します。

プリンター データはレジストリに格納されます。 プリンター データの列挙中に、データを変更する可能性があるレジストリ関数を呼び出さないでください。

構文

DWORD EnumPrinterDataEx(
  _In_  HANDLE  hPrinter,
  _In_  LPCTSTR pKeyName,
  _Out_ LPBYTE  pEnumValues,
  _In_  DWORD   cbEnumValues,
  _Out_ LPDWORD pcbEnumValues,
  _Out_ LPDWORD pnEnumValues
);

パラメーター

hPrinter [in]

関数が構成データを取得するプリンターへのハンドル。 プリンター ハンドルを取得するには、 OpenPrinter 関数または AddPrinter 関数を使用します。

pKeyName [in]

列挙する値を含むキーを指定する null で終わる文字列へのポインター。 区切り記号として円記号 ( \ ) 文字を使用して、1 つ以上のサブキーを含むパスを指定します。 EnumPrinterDataEx はキーのすべての値を列挙しますが、指定したキーのサブキーの値は列挙しません。 EnumPrinterKey 関数を使用してサブキーを列挙します。

pKeyNameNULL または空の文字列の場合、EnumPrinterDataEx はERROR_INVALID_PARAMETERを返します。

pEnumValues [out]

PRINTER_ENUM_VALUES構造体の配列を受け取るバッファーへのポインター。 各構造体には、キーの下にある値の名前、型、データ、およびサイズが含まれます。

cbEnumValues [in]

pcbEnumValues が指すバッファーのサイズ (バイト単位)。 cbEnumValues を 0 に設定すると、pcbEnumValues パラメーターは必要なバッファー サイズを返します。

pcbEnumValues [out]

取得した構成データのサイズ (バイト単位) を受け取る変数へのポインター。 cbEnumValues で指定されたバッファー サイズが小さすぎる場合、関数は ERROR_MORE_DATAを返し、pcbEnumValues は必要なバッファー サイズを示します。

pnEnumValues [out]

pEnumValues で返されるPRINTER_ENUM_VALUES構造体の数を受け取る変数へのポインター。

戻り値

関数が成功した場合、戻り値は ERROR_SUCCESS です。

関数が失敗した場合、戻り値はシステム エラー コードです。

注釈

注意

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

EnumPrinterDataEx は、 SetPrinterDataEx 関数と SetPrinterData 関数によってプリンター構成データ セットを取得します。

要件

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

関連項目

印刷

印刷スプーラー API 関数

DeletePrinterDataEx

EnumPrinterKey

GetPrinterDataEx

OpenPrinter

PRINTER_ENUM_VALUES

SetPrinterData

SetPrinterDataEx