次の方法で共有


EnumPrinterKey 関数

EnumPrinterKey 関数は、指定したプリンターの指定したキーのサブキーを列挙します。

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

構文

DWORD EnumPrinterKey(
  _In_  HANDLE  hPrinter,
  _In_  LPCTSTR pKeyName,
  _Out_ LPTSTR  pSubkey,
  _In_  DWORD   cbSubkey,
  _Out_ LPDWORD pcbSubkey
);

パラメーター

hPrinter [in]

関数がサブキーを列挙するプリンターへのハンドル。 プリンター ハンドルを取得するには、 OpenPrinter 関数または AddPrinter 関数を使用します。

pKeyName [in]

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

pKeyName が空の文字列 ("") の場合、EnumPrinterKey はプリンターの最上位のキーを列挙します。 pKeyNameNULL の場合、EnumPrinterKey はERROR_INVALID_PARAMETERを返します。

pSubkey [out]

null で終わるサブキー名の配列を受け取るバッファーへのポインター。 配列は 2 つの null 文字で終了します。

cbSubkey [in]

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

pcbSubkey [out]

pSubkey バッファーで取得されたバイト数を受け取る変数へのポインター。 cbSubkey で指定されたバッファー サイズが小さすぎる場合、関数は ERROR_MORE_DATAを返し、pcbSubkey は必要なバッファー サイズを示します。

戻り値

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

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

注釈

注意

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

要件

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

関連項目

印刷

印刷スプーラー API 関数

DeletePrinterDataEx

GetPrinterDataEx

OpenPrinter

SetPrinterDataEx