diff options
Diffstat (limited to 'source3/rpc_server')
-rw-r--r-- | source3/rpc_server/srv_spoolss_util.c | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/source3/rpc_server/srv_spoolss_util.c b/source3/rpc_server/srv_spoolss_util.c index 004427914c..b70090f44b 100644 --- a/source3/rpc_server/srv_spoolss_util.c +++ b/source3/rpc_server/srv_spoolss_util.c @@ -1675,6 +1675,17 @@ WERROR winreg_update_printer(TALLOC_CTX *mem_ctx, } } + if (info2_mask & SPOOLSS_PRINTER_INFO_DRIVERNAME) { + result = winreg_printer_write_sz(tmp_ctx, + winreg_pipe, + &key_hnd, + "Printer Driver", + info2->drivername); + if (!W_ERROR_IS_OK(result)) { + goto done; + } + } + if (info2_mask & SPOOLSS_PRINTER_INFO_LOCATION) { result = winreg_printer_write_sz(tmp_ctx, winreg_pipe, @@ -1999,6 +2010,12 @@ WERROR winreg_get_printer(TALLOC_CTX *mem_ctx, &info2->parameters); CHECK_ERROR(result); + result = winreg_enumval_to_sz(info2, + v, + "Printer Driver", + &info2->drivername); + CHECK_ERROR(result); + result = winreg_enumval_to_dword(info2, v, "Attributes", |