做了一个将SPL文件转换为EMF文件的DLL,通过对话框应用程序加载进行测试时没有问题,但是通过打印机处理器DLL(例如WDK示例中的genprint.dll)加载时报错。
Unhandled exception at 0x78a336d3 in spoolsv.exe: 0xC0000005: Access violation reading location 0x00000000.
这是怎么回事。
打印机处理器中该怎么加载DLL呢?

解决方案 »

  1.   

    你给出的信息有限啊。~~~~~~
    从你的出错信息来看,可以查一下当时的spoolsv.exe进程的0x78a336d3地址是被哪一个DLL占用吗?(你可以使用Process Explorer,查看一个进程加载DLL文件的一些信息)打印处理器的环境跟一般的应用程序不太一样,这个DLL的宿主好像是Explorer.exe吗?
    如果是WDK的例子都会出错,恐怕是系统的问题吧,会不会是使用了跟你系统不相同的编译环境编译的DLL?
      

  2.   

    spl文件貌似会一直增大,怎么判断spl生成完成呢?