spoolss: fill in spoolss_AddPrinterDriverEx. This is metze's work from 2005 (!).
authorGünther Deschner <gd@samba.org>
Wed, 11 Feb 2009 09:15:56 +0000 (10:15 +0100)
committerGünther Deschner <gd@samba.org>
Wed, 11 Feb 2009 09:20:52 +0000 (10:20 +0100)
Guenther

librpc/gen_ndr/cli_spoolss.c
librpc/gen_ndr/cli_spoolss.h
librpc/idl/spoolss.idl

index 4906d239ded91f927566a34aa5019da4d4eb44ca..492f2c2a718e66ce4220a0c199642b7c0e8af494 100644 (file)
@@ -477,12 +477,18 @@ NTSTATUS rpccli_spoolss_GetPrinter(struct rpc_pipe_client *cli,
 
 NTSTATUS rpccli_spoolss_AddPrinterDriver(struct rpc_pipe_client *cli,
                                         TALLOC_CTX *mem_ctx,
+                                        const char *servername /* [in] [ref,charset(UTF16)] */,
+                                        uint32_t level /* [in]  */,
+                                        union spoolss_AddDriverInfo info /* [in] [switch_is(level)] */,
                                         WERROR *werror)
 {
        struct spoolss_AddPrinterDriver r;
        NTSTATUS status;
 
        /* In parameters */
+       r.in.servername = servername;
+       r.in.level = level;
+       r.in.info = info;
 
        if (DEBUGLEVEL >= 10) {
                NDR_PRINT_IN_DEBUG(spoolss_AddPrinterDriver, &r);
@@ -4189,12 +4195,20 @@ NTSTATUS rpccli_spoolss_XcvData(struct rpc_pipe_client *cli,
 
 NTSTATUS rpccli_spoolss_AddPrinterDriverEx(struct rpc_pipe_client *cli,
                                           TALLOC_CTX *mem_ctx,
+                                          const char *servername /* [in] [ref,charset(UTF16)] */,
+                                          uint32_t level /* [in]  */,
+                                          union spoolss_AddDriverInfo info /* [in] [switch_is(level)] */,
+                                          uint32_t flags /* [in]  */,
                                           WERROR *werror)
 {
        struct spoolss_AddPrinterDriverEx r;
        NTSTATUS status;
 
        /* In parameters */
+       r.in.servername = servername;
+       r.in.level = level;
+       r.in.info = info;
+       r.in.flags = flags;
 
        if (DEBUGLEVEL >= 10) {
                NDR_PRINT_IN_DEBUG(spoolss_AddPrinterDriverEx, &r);
index 9eb43d61a5fc36bc127e5b9d0da68e6104a8f163..25000a4cc4a782eb2101c89f044de82dd82b81d0 100644 (file)
@@ -76,6 +76,9 @@ NTSTATUS rpccli_spoolss_GetPrinter(struct rpc_pipe_client *cli,
                                   WERROR *werror);
 NTSTATUS rpccli_spoolss_AddPrinterDriver(struct rpc_pipe_client *cli,
                                         TALLOC_CTX *mem_ctx,
+                                        const char *servername /* [in] [ref,charset(UTF16)] */,
+                                        uint32_t level /* [in]  */,
+                                        union spoolss_AddDriverInfo info /* [in] [switch_is(level)] */,
                                         WERROR *werror);
 NTSTATUS rpccli_spoolss_EnumPrinterDrivers(struct rpc_pipe_client *cli,
                                           TALLOC_CTX *mem_ctx,
@@ -521,6 +524,10 @@ NTSTATUS rpccli_spoolss_XcvData(struct rpc_pipe_client *cli,
                                WERROR *werror);
 NTSTATUS rpccli_spoolss_AddPrinterDriverEx(struct rpc_pipe_client *cli,
                                           TALLOC_CTX *mem_ctx,
+                                          const char *servername /* [in] [ref,charset(UTF16)] */,
+                                          uint32_t level /* [in]  */,
+                                          union spoolss_AddDriverInfo info /* [in] [switch_is(level)] */,
+                                          uint32_t flags /* [in]  */,
                                           WERROR *werror);
 NTSTATUS rpccli_spoolss_5a(struct rpc_pipe_client *cli,
                           TALLOC_CTX *mem_ctx,
index b4207c465210189b33ae5749882b4f084cd30956..294ab50aaf41603d6b9f0e3812907d38c5c5acb0 100644 (file)
@@ -1751,7 +1751,11 @@ import "misc.idl", "security.idl", "winreg.idl";
 
        /******************/
        /* Function: 0x59 */
-       [public,todo] WERROR spoolss_AddPrinterDriverEx(
+       [public] WERROR spoolss_AddPrinterDriverEx(
+               [in] [string,charset(UTF16)] uint16 *servername,
+               [in] uint32 level,
+               [in,switch_is(level)] spoolss_AddDriverInfo info,
+               [in] uint32 flags
        );
 
        /******************/