kingmax5421
驱动牛犊
驱动牛犊
  • 注册日期2008-11-13
  • 最后登录2015-06-17
  • 粉丝1
  • 关注0
  • 积分63分
  • 威望502点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:3995回复:2

DDK原例子Genprint,加为打印处理器(PrintProcessor)后,EMF格式处理问题?

楼主#
更多 发布于:2010-05-06 13:43

DDK原例子Genprint,加为打印处理器(PrintProcessor)后,EMF格式处理问题:

打印机驱动的Print Processor设置为genprint,格式(Default Data Type)选为 NT EMF 1.008.
调试的时候执行打印的时候,在PrintDocumentOnPrintProcessor里,

......
  switch (pData->uDatatype) {

  case PRINTPROCESSOR_TYPE_EMF_50_1:
  case PRINTPROCESSOR_TYPE_EMF_50_2:
  case PRINTPROCESSOR_TYPE_EMF_50_3:

  return PrintEMFJob( pData, pDocumentName );
  break;

  case PRINTPROCESSOR_TYPE_RAW:
  return PrintRawJob(pData, pDocumentName, pData->uDatatype);
  break;

  case PRINTPROCESSOR_TYPE_TEXT:
  return PrintTextJob(pData, pDocumentName);
  break;  
  } /* Case on data type */

....

switch语句总是走到PRINTPROCESSOR_TYPE_RAW,而不是EMF那段去为什么?

按道理,应该走case PRINTPROCESSOR_TYPE_EMF_50_1:  case PRINTPROCESSOR_TYPE_EMF_50_2:  case PRINTPROCESSOR_TYPE_EMF_50_3: 这一段的。

困惑不已!
mengfeng150
驱动牛犊
驱动牛犊
  • 注册日期2008-03-31
  • 最后登录2016-12-22
  • 粉丝0
  • 关注0
  • 积分61分
  • 威望583点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
  • 社区居民
沙发#
发布于:2010-05-06 14:42
可能是安装或者那个地方没有设置NT EMF 1.008
kingmax5421
驱动牛犊
驱动牛犊
  • 注册日期2008-11-13
  • 最后登录2015-06-17
  • 粉丝1
  • 关注0
  • 积分63分
  • 威望502点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2010-05-07 10:30
我发现了,其运行形式可能是一个迭代。Print应该是一个不断进行中的... 会不断的执行PrintDocumentOnPrintProcessor.

一会会运行到:
case PRINTPROCESSOR_TYPE_RAW
一会会运行到:
case PRINTPROCESSOR_TYPE_EMF_50_1:  case PRINTPROCESSOR_TYPE_EMF_50_2:  case PRINTPROCESSOR_TYPE_EMF_50_3:


That's it.

Thanks anyway.
游客

返回顶部