スプールされた印刷ジョブを保管するファイルのパスを取得する
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()関数で書き込む。