AddJob

機能
スプールされた印刷ジョブを保管するファイルのパスを取得する
Declare Function AddJob Lib "winspool.drv" Alias "AddJobA" _
(ByVal hPrinter As Long, ByVal Level As Long, pData As ADDJOB_INFO_1, _
ByVal cbBuf As Long, pcbNeeded As Long) As Long
Declare Function AddJob Lib "winspool.drv" Alias "AddJobA" _
(ByVal hPrinter As Integer, ByVal Level As Integer, pData As ADDJOB_INFO_1, _
ByVal cbBuf As Integer, pcbNeeded As Integer) As Integer

BOOL AddJob(
HANDLE hPrinter,
DWORD Level,

LPBYTE pData,

DWORD cbBuf,
LPDWORD pcbNeeded


);
引数
hPrinter

プリンタオブジェクトのハンドル(OpenPrinter()関数を使って取得する)
この関数は、ローカルプリンタに対してのみ有効。リモートプリンタ、または直接印刷に
設定されたプリンタを指定するとエラー。
Level
構造体のレベルを指定する数値(常に1)
pData
(戻り値)データを受け取るADDJOB_INFO_1構造体を含むバイト配列
cdBuf
pDataのバイト数
pcbNeeded
(戻り値)読み込んだデータのバイト数
戻り値
印刷継続のとき       0以外
中止のとき           0
備考
pcbNeededがcbBufより大きいとき、pDataはサイズ不足となるので、修正して再度、関数を実行する。
CreateFile()関数を使って、ADDJOB_INFO_1構造体のPathで定義されたスプールファイルをオープンできる。
そのあとにWriteFile()関数で書き込む。