none
虚拟打印机安装中驱动版本问题 RRS feed

  • 问题

  •  

    我用打印机添加向导 添加我的打印机(.inf文件) 系统把我的驱动安装到w32x86\3目录
    但是我用AddPrinterDriver 函数添加我的驱动 却被添加到w32x86\0目录(导致AddPrinter函数无法添加打印机)
    我用rundll32 printui.dll,PrintUIEntry来安装我的驱动结果提示我的驱动和系统版本不兼容(DDK下XP版本编译)
    AddPrinterDriver 操作代码:
    C/C++ code
    char lpBuffer[MAX_PATH]; DWORD uSize=0; GetPrinterDriverDirectory(NULL,"Windows NT x86",1,(LPBYTE)lpBuffer,MAX_PATH,&uSize); printf("%s\n",lpBuffer); //GetCurrentDirectory((DWORD)MAX_PATH,lpBuffer); //配置文件 char lpConfigFilePath[MAX_PATH]; lstrcpy(TEXT(lpConfigFilePath),TEXT(lpBuffer)); lstrcat(TEXT(lpConfigFilePath),TEXT("\\driver\\WZP.INI")); printf("%s\n",lpConfigFilePath); //数据文件 char lpDataFilePath[MAX_PATH]; lstrcpy(TEXT(lpDataFilePath),TEXT(lpBuffer)); lstrcat(TEXT(lpDataFilePath),TEXT("\\driver\\WZP.GPD")); printf("%s\n",lpDataFilePath); //驱动文件 char lpDriverPath[MAX_PATH]; lstrcpy(TEXT(lpDriverPath),TEXT(lpBuffer)); lstrcat(TEXT(lpDriverPath),TEXT("\\driver\\WZP.DLL")); printf("%s\n",lpDriverPath); ZeroMemory(&di3, sizeof(DRIVER_INFO_3)); di3.cVersion = 0x03; di3.pConfigFile =lpConfigFilePath; di3.pDataFile =lpDataFilePath; di3.pDependentFiles = TEXT("WZP.DLL\0WZP.INI\0WZP.GPD\0\0"); di3.pDriverPath = lpDriverPath; di3.pEnvironment = TEXT("Windows NT x86"); di3.pHelpFile = NULL; di3.pMonitorName = NULL; di3.pName = TEXT("WZP"); di3.pDefaultDataType = NULL;//TEXT("RAW"); if(!AddPrinterDriver(NULL, 3, (LPBYTE)&di3)) { printf("error:%d\n",GetLastError()); } else printf("add driver succeed\n");

    我知道打印驱动版本的问题,但是不晓得怎么控制,那是我驱动的问题呢,还是我安装驱动时候出现的问题?
    2008年10月21日 10:49