summaryrefslogtreecommitdiff
path: root/source3/rpc_server
diff options
context:
space:
mode:
Diffstat (limited to 'source3/rpc_server')
-rw-r--r--source3/rpc_server/srv_spoolss.c26
-rw-r--r--source3/rpc_server/srv_spoolss_nt.c37
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
****************************************************************/