<Return[E]><Top>

EnumPrinterDrivers

Declare Function Api_EnumPrinterDrivers& Lib "winspool.drv" Alias "EnumPrinterDriversA" (ByVal pName$, ByVal pEnvironment$, ByVal Level&, pDriverInfo As Any, ByVal cdBuf&, pcbNeeded&, pcRetruned&)

Declare Function EnumPrinterDrivers Lib "winspool.drv" Alias "EnumPrinterDriversA" (ByVal pName As String, ByVal pEnvironment As String, ByVal Level As Long, pDriverInfo As Byte, ByVal cdBuf As Long, pcbNeeded As Long, pcRetruned As Long) As Long

利用可能なプリンタ、プリントサーバー、ドメイン、プリントプロバイダを列挙する。

パラメータ
pName
    プリンタドライバを列挙したいサーバーの名前を表す NULL で終わる文字列へのポインタを指定する。
    pName に NULL を指定すると、ローカルコンピュータ上のプリンタドライバが列挙される。
pEnvironment
    環境を表す NULL で終わる文字列へのポインタを指定する。

    たとえば "Windows NT x86" は、Intel 製 80386 プロセッサまたは 80486 プロセッサ上で動く Windows NT を表す。

    NULL を指定すると、呼び出し側またはクライアント (先またはサーバーではない) の現在の環境が使われる。
Level
    pDriverInfo が指す構造体の種類を指定する。1、2、3 のいずれかでなければならない。
pDriverInfo
    DRIVER_INFO_1 構造体、DRIVER_INFO_2 構造体、または DRIVER_INFO_3 構造体の配列を受け取るバッファへのポインタを指定

    する。各構造体には、利用可能なプリンタドライバを記述するデータが入る。
cbBuf
    pDriverInfo が指すバッファのサイズをバイト単位で指定する。
pcbNeeded
    プリンタドライバを列挙するデータのサイズ (バイト数) を受け取る変数へのポインタを指定する。cbBuf がこの値より小さいと、

    EnumPrinterDrivers は失敗する。その場合、pcbNeeded が指す変数が受け取った値は必要なバッファサイズを表す。

    cbBuf がこの値と等しいかこの値より大きい場合、pcbNeeded が指す変数の値は、バッファに格納されたバイト数を表す。
pcReturned
    pDriverInfo が指すバッファに格納された構造体の数を受け取る変数へのポインタを指定する。

    この数は、指定したプリンタサーバーにインストールされているプリンタドライバの数を表す。
 

戻り値
    関数が成功すると、0 以外の値が返る。
    関数が失敗すると、0 が返る。拡張エラー情報を取得するには、GetLastError 関数を使う。