<Return[F]><Top>

FlushPrinter

Declare Function Api_FlushPrinter& Lib "spoolss" Alias "FlushPrinter" (ByVal hPrinter&, pBuf As Any, ByVal cbBuf&, ByRef pcWritten&, ByVal cSleep&)

Declare Function FlushPrinter Lib "spoolss.dll" Alias "FlushPrinter" (ByVal hPrinter As Long, pBuf As Any, ByVal cbBuf As Long, ByRef pcWritten As Long, ByVal cSleep As Long) As Long

プリンタのバッファを一時状態でなくすため、プリンタにバッファを送信する。

パラメータ
hPrinter
    [入力]プリンタオブジェクトのハンドルを指定する。プリンタドライバが WritePrinter 関数を呼び出すときに使ったハンドルを使う。
pBuf
    [入力]プリンタに書き込むデータが入ったバイト配列へのポインタを指定する。
cbBuf
    [入力]pBuf パラメータが指す配列のサイズをバイト数で指定する。
pcWritten
    [出力]プリンタに書き込まれたデータのバイト数を受け取る値へのポインタを指定する。
cSleep
    [入力]プリンタポートへの I/O 線をアイドルにしておく時間をミリ秒単位で指定する。

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

解説
    この関数は、WritePrinter 関数が失敗し、プリンタが一時状態のままになってしまった場合にだけ使う。たとえば、ジョブが中止され、プ

    リンタドライバが raw データの一部をプリンタに送信済みのとき、プリンタは一時状態になる。
    また、プリンタスプーラによって対応するプリンタポートへのジョブのスケジューリングを停止する際に、アイドル時間の長さを指定することもでき

    る。