WritePrint()関数の使用方法

[戻る]
うちだ 2005/03/30(水) 10:46:28
昨日、印刷の質問をしたのですが、自力で調べたところ、プリンタDCを使用する方法では
1ページに出力する場合には、1度に転送する方法しかありえないようです
そこで、直接スプールに投げる方法を見つけて実装しました
しかし、スプールには期待通りのサイズのドキュメントが積まれるのですが、印刷されません
なぜでしょうか?
ご存知な方いましたら教えてください
-------------------------------------------------------------
HANDLE hPrinter;
if ( !OpenPrinter( "Canon PIXUS 9900i", &hPrinter, NULL )) {
    return;
}
DOC_INFO_1 info;
memset( &info, 0, sizeof(DOC_INFO_1) ) ;
info.pDocName    = "test";
info.pOutputFile = NULL;
info.pDatatype   = NULL;
//info.pDatatype     = "RAW";
if ( !StartDocPrinter( hPrinter, 1, (LPBYTE)&info ) ) {
    return;
}
if ( !StartPagePrinter(hPrinter) ) {
    return;
}
DWORD dwCounter;
//char     ESC[1+1];
//ESC[0] = 0x1b;
//BOOL result = WritePrinter( hPrinter, ESC, 1, &dwCounter );
//char a[] = "abcde";
BOOL result2 = WritePrinter( hPrinter, a, 5, &dwCounter );
BOOL result3 = EndPagePrinter(hPrinter);
BOOL result4 = EndDocPrinter(hPrinter);
BOOL result5 = ClosePrinter(hPrinter);
-------------------------------------------------------------
WinXP SP1
VC++6.0 SP4

うちだ 2005/03/30(水) 14:45:46
[[解決]]
この方法では、スプーラにダイレクトに積まれてしまい
使用したいプリンタドライバの機能が使えないので、採用しないこととしました

古いスレッドには追加発言できません。