我好闷了,一样的代码,在测试工程中可以做到,但到驱动中使用这两个函数,却没有用,可两个函数返回都是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。超怪。
大哥,你的问题搞定了三,我现在也遇到了同样的问题,请问怎么解决啊?急