在打印驱动中调用SetPrinterData和GetPrinterData无效

小粉果   2007-5-30 16:39 楼主
我好闷了,一样的代码,在测试工程中可以做到,但到驱动中使用这两个函数,却没有用,可两个函数返回都是ERROR_SUCCESS.
比较急,请各位大哥大姐帮忙给点提示和见意,谢谢了。
下面是测试工程,成功了:
void CLllDlg::OnButton1()
{
    PRINTER_DEFAULTS    PrinterDef = { NULL, NULL, PRINTER_ALL_ACCESS };
HANDLE hPrinter;
        OpenPrinter(TEXT("VirtualPrinter"), &hPrinter, &PrinterDef);

        DWORD dwValue=3;
        DWORD dwType,tmp;
        DWORD bResult=SetPrinterData(hPrinter, TEXT("raymond"), REG_DWORD, (LPBYTE)&dwValue, sizeof(DWORD));

        bResult = GetPrinterData(hPrinter, TEXT("raymond"), &dwType, (LPBYTE)&dwValue, sizeof(DWORD), &tmp);

        CString cs;
        cs.Format("dwvalue:%ld",dwValue);
        AfxMessageBox(cs);
        ClosePrinter(hPrinter);
}
可是驱动中使用同样的代码却不行(只有hPrinter是传入的),可返回都是ERROR_SUCCESS。超怪。

回复评论 (1)

大哥,你的问题搞定了三,我现在也遇到了同样的问题,请问怎么解决啊?急
点赞  2014-10-23 18:35
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复