<Return[E]><Top>

EnumPrinterKey

Declare Function Api_EnumPrinterKey& Lib "winspool.drv" Alias "EnumPrinterKeyA" (ByVal hPrinter&, ByRef pKeyName$, ByRef pSubkey$, ByVal cbSubkey&, ByRef pcbSubkey&)

Declare Function EnumPrinterKey Lib "winspool.drv" Alias "EnumPrinterKeyA" (ByVal hPrinter As Long, ByRef pKeyName As String, ByRef pSubkey As String, ByVal cbSubkey As Long, ByRef pcbSubkey As Long) As Long

指定されたプリンタに関する指定されたキーのサブキーを列挙する。
プリンタデータはレジストリに格納される。プリンタデータを列挙している間は、データを変更する可能性があるレジストリ関数を使わない。

パラメータ
hPrinter
    サブキーを列挙したいプリンタを識別するハンドルを指定する。このプリンタハンドルは、OpenPrinter 関数を使って取得する。
pKeyName
    列挙したいサブキーが入っているキーを表す NULL で終わる文字列へのポインタを指定する。1 つ以上のサブキーを持つパスを指定する場

    合は、区切り文字に円記号 '\' を使う。EnumPrinterKey 関数は、キーのすべてのサブキーを列挙するが、サブキーのサブキーは列挙し

    ない。
    pKeyName に空の文字列 ("") を指定すると、プリンタの最上位キーが列挙される。pKeyName に NULL を指定すると、

    ERROR_INVALID_PARAMETER が返る。
pSubkey
    NULL で終わるサブキーの名前の配列を受け取るバッファへのポインタを指定する。配列は、2 つの NULL で終わる。
cbSubkey
    pSubkey が指すバッファのサイズをバイト単位で指定する。0 を指定すると、関数が戻るとき、パラメータ pcbSubkey が指す変数に必要な

    バッファサイズが格納される。
pcbSubkey
    pSubkey が指すバッファに格納されたバイト数を受け取る変数へのポインタを指定する。cbSubkey で指定したバッファサイズが小さすぎてデ

    ータが収まらない場合、戻り値は ERROR_MORE_DATA となり、pcbSubkey に格納された値は必要なバッファサイズを示す。

戻り値
    関数が成功すると、ERROR_SUCCESS が返る。
    関数が失敗すると、Win32 エラー値が返る。pKeyName が存在しないときは、ERROR_FILE_NOT_FOUND が返る。