$NetBSD$ --- ../source3/rpc_server/spoolss/srv_spoolss_nt.c.orig 2013-01-18 19:20:23.000000000 +0000 +++ ../source3/rpc_server/spoolss/srv_spoolss_nt.c @@ -5607,6 +5607,7 @@ WERROR _spoolss_GetPrinterDriver2(struct { struct printer_handle *printer; WERROR result; + uint32 version; int snum; @@ -5631,13 +5632,19 @@ WERROR _spoolss_GetPrinterDriver2(struct return WERR_BADFID; } + version = r->in.client_major_version; + if ((strequal(r->in.architecture, SPOOLSS_ARCHITECTURE_x64)) && + (r->in.client_major_version == SPOOLSS_DRIVER_VERSION_2012)) { + version = SPOOLSS_DRIVER_VERSION_200X; + } + result = construct_printer_driver_info_level(p->mem_ctx, get_session_info_system(), p->msg_ctx, r->in.level, r->out.info, snum, printer->servername, r->in.architecture, - r->in.client_major_version); + version); if (!W_ERROR_IS_OK(result)) { TALLOC_FREE(r->out.info); return result;