<Return[A]><Top>

AddJob

Declare Function Api_AddJob& Lib "winspool.drv" Alias "AddJobA" (ByVal hPrinter&, ByVal Level&, pData As Byte, ByVal cdBuf&, pcbNeeded&)

Declare Function AddJob Lib "winspool.drv" Alias "AddJobA" (ByVal hPrinter As Long, ByVal Level As Long, pData As Byte, ByVal cdBuf As Long, pcbNeeded As Long) As Long

スプールされた印刷ジョブの格納に利用できるファイルを表すパス文字列を取得する。

パラメータ

hPrinter
    印刷ジョブを扱うプリンタを識別するハンドルを指定する。スプール付きプリンタとして構成されたローカルプリンタでなければならない。

    hPrinter がリモートプリンタ接続へのハンドルであったり、プリンタが直接印刷用に構成されていると、AddJob 関数は失敗する。
Level
    pData が指すバッファに関数が格納する印刷ジョブ情報データ構造体のバージョンを指定する。このパラメータは、1 に設定する。
pData
    ADDJOB_INFO_1 データ構造体とパス文字列を受け取るバッファへのポインタを指定する。
cbBuf
    pData が指すバッファのサイズをバイト数で指定する。ADDJOB_INFO_1 構造体とパス文字列を十分格納できるサイズにする必要があ

    る。
pcbNeeded
    ADDJOB_INFO_1 データ構造体とパス文字列の合計のサイズ(バイト数)を受け取る変数へのポインタを指定する。関数が成功した場合、

    この変数に格納された値が cbBuf と等しいかそれより小さければ、その値は pData が指すバッファに書き込まれた実際のバイト数を表す。

    その値が cbBuf より大きい場合は、バッファが小さすぎるため、サイズが *pcbNeeded と等しいかそれより大きいバッファを指定して関数をも

    う一度呼び出さなければならない。

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

解説
    関数で 構造体のメンバ Path によって指定されたスプールファイルを開いた後、 関数でジョブデータをそのスプールファイルに書き込むことが

    できる。それが終わったら ScheduleJob を使って、印刷ジョブの印刷のスケジューリングが可能になったことをプリントスケジューラに通知す

    る。