diff options
Diffstat (limited to 'source3/rpc_server')
-rw-r--r-- | source3/rpc_server/srv_spoolss.c | 26 | ||||
-rw-r--r-- | source3/rpc_server/srv_spoolss_nt.c | 37 |
2 files changed, 22 insertions, 41 deletions
diff --git a/source3/rpc_server/srv_spoolss.c b/source3/rpc_server/srv_spoolss.c index bf11bc6914..cf5b4fb3f8 100644 --- a/source3/rpc_server/srv_spoolss.c +++ b/source3/rpc_server/srv_spoolss.c @@ -898,31 +898,7 @@ static bool api_spoolss_enumprintprocessors(pipes_struct *p) static bool api_spoolss_addprintprocessor(pipes_struct *p) { - SPOOL_Q_ADDPRINTPROCESSOR q_u; - SPOOL_R_ADDPRINTPROCESSOR r_u; - prs_struct *data = &p->in_data.data; - prs_struct *rdata = &p->out_data.rdata; - - ZERO_STRUCT(q_u); - ZERO_STRUCT(r_u); - - if(!spoolss_io_q_addprintprocessor("", &q_u, data, 0)) { - DEBUG(0,("spoolss_io_q_addprintprocessor: unable to unmarshall SPOOL_Q_ADDPRINTPROCESSOR.\n")); - return False; - } - - /* for now, just indicate success and ignore the add. We'll - automatically set the winprint processor for printer - entries later. Used to debug the LexMark Optra S 1855 PCL - driver --jerry */ - r_u.status = WERR_OK; - - if(!spoolss_io_r_addprintprocessor("", &r_u, rdata, 0)) { - DEBUG(0,("spoolss_io_r_addprintprocessor: unable to marshall SPOOL_R_ADDPRINTPROCESSOR.\n")); - return False; - } - - return True; + return proxy_spoolss_call(p, NDR_SPOOLSS_ADDPRINTPROCESSOR); } /**************************************************************************** diff --git a/source3/rpc_server/srv_spoolss_nt.c b/source3/rpc_server/srv_spoolss_nt.c index 31ab2ca43d..ec1a9a81da 100644 --- a/source3/rpc_server/srv_spoolss_nt.c +++ b/source3/rpc_server/srv_spoolss_nt.c @@ -150,6 +150,7 @@ static void free_spool_notify_option(SPOOL_NOTIFY_OPTION **pp) static void srv_spoolss_replycloseprinter(int snum, POLICY_HND *handle) { WERROR result; + NTSTATUS status; /* * Tell the specific printing tdb we no longer want messages for this printer @@ -165,11 +166,10 @@ static void srv_spoolss_replycloseprinter(int snum, POLICY_HND *handle) return; } - result = rpccli_spoolss_reply_close_printer(notify_cli_pipe, - talloc_tos(), - handle); - - if (!W_ERROR_IS_OK(result)) + status = rpccli_spoolss_ReplyClosePrinter(notify_cli_pipe, talloc_tos(), + handle, + &result); + if (!NT_STATUS_IS_OK(status) || !W_ERROR_IS_OK(result)) DEBUG(0,("srv_spoolss_replycloseprinter: reply_close_printer failed [%s].\n", win_errstr(result))); @@ -9978,6 +9978,22 @@ WERROR _spoolss_xcvdataport(pipes_struct *p, SPOOL_Q_XCVDATAPORT *q_u, SPOOL_R_X return WERR_INVALID_PRINT_MONITOR; } + +/**************************************************************** + _spoolss_AddPrintProcessor +****************************************************************/ + +WERROR _spoolss_AddPrintProcessor(pipes_struct *p, + struct spoolss_AddPrintProcessor *r) +{ + /* for now, just indicate success and ignore the add. We'll + automatically set the winprint processor for printer + entries later. Used to debug the LexMark Optra S 1855 PCL + driver --jerry */ + + return WERR_OK; +} + /**************************************************************** _spoolss_EnumPrinters ****************************************************************/ @@ -10111,17 +10127,6 @@ WERROR _spoolss_GetPrinterDriverDirectory(pipes_struct *p, } /**************************************************************** - _spoolss_AddPrintProcessor -****************************************************************/ - -WERROR _spoolss_AddPrintProcessor(pipes_struct *p, - struct spoolss_AddPrintProcessor *r) -{ - p->rng_fault_state = true; - return WERR_NOT_SUPPORTED; -} - -/**************************************************************** _spoolss_EnumPrintProcessors ****************************************************************/ |