<Return[E]><Top>

EnumPorts

Declare Function Api_EnumPorts& Lib "winspool.drv" Alias "EnumPortsA" (ByVal pName$, ByVal Level&, lpPorts As Any, ByVal cbBuf&, pcbNeeded&, pcReturned&)

Declare Function EnumPorts Lib "winspool.drv" Alias "EnumPortsA" (ByVal pName As String, ByVal Level As Long, ByVal lpbPorts As Long, ByVal cbBuf As Long, pcbNeeded As Long, pcReturned As Long) As Long

指定されたサーバー上での印刷に利用可能なポートを列挙する。

パラメータ
hPrinter
    印刷ジョブを列挙するプリンタオブジェクトのハンドルを指定する。
FirstJob
    列挙を開始する印刷ジョブの印刷キュー内の位置を指定する。

    印刷キューの位置は 0 から数えるので、たとえば先頭の印刷ジョブから列挙するときは 0 を、10 番目の印刷ジョブから列挙するときは

     9 を指定する。
NoJobs
    列挙する印刷ジョブの数を指定する。
Level
    列挙するジョブのデータを格納するために、JOB_INFO_1 構造体JOB_INFO_2 構造体のどちらを使うか指定する。

    JOB_INFO_1 構造体を使うときは 1 を指定する。JOB_INFO_2 構造体を使うときは 2 を指定する。
pJob
    JOB_INFO_1 構造体または JOB_INFO_2 構造体の配列へのポインタを指定する。
cbBuf
    配列 pJob のサイズをバイト単位で指定する。
pcbNeeded
    関数が成功した場合にコピーされたバイト数を受け取る変数へのポインタを指定する。

    関数が失敗した場合、この変数が受け取る値は必要なバイト数である。
pcReturned
    初期化された JOB_INFO_1 構造体または JOB_INFO_2 構造体の数を受け取る変数へのポインタを指定する。
 

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

解説
    ハンドル hPrinter は、OpenPrinter 関数で取得する。
    JOB_INFO_1 構造体には印刷ジョブの一般的な情報が格納される。JOB_INFO_2 構造体には、より詳細な情報が格納される。