{
ZERO_STRUCT(r_o);
- if(!spoolss_io_r_addprinterdriver("", &r_o, &rbuf, 0))
+ if(spoolss_io_r_addprinterdriver("", &r_o, &rbuf, 0))
{
- /* report error code */
- DEBUG(5,("SPOOLSS_ADDPRINTEREX: %s\n", get_nt_error_msg(r_o.status)));
+ if (r_o.status != NT_STATUS_NO_PROBLEMO)
+ {
+ /* report error code */
+ DEBUG(0,("SPOOLSS_ADDPRINTERDRIVER: %s\n", get_nt_error_msg(r_o.status)));
+ }
}
}
fstring srv_name,
printer_name,
driver_name,
- port_name;
+ port_name,
+ share_name;
POLICY_HND hnd;
PRINTER_INFO_2 print_info_2;
PORT_INFO_1 *port_info_1 = NULL;
strupper(srv_name);
/* check (and copy) the command line arguments */
- if (argc < 3) {
- report(out_hnd, "spooladdprinterex <name> <driver> <port>\n");
+ if (argc < 4) {
+ report(out_hnd, "spooladdprinterex <name> <shared name> <driver> <port>\n");
return NT_STATUS_INVALID_PARAMETER;
}
else
{
fstrcpy(printer_name, argv[1]);
- fstrcpy(driver_name, argv[2]);
- fstrcpy(port_name, argv[3]);
+ fstrcpy(share_name, argv[2]);
+ fstrcpy(driver_name, argv[3]);
+ fstrcpy(port_name, argv[4]);
}
/* Verify that the specified port is ok; spoolss_enum_ports() should
ZERO_STRUCTP(&print_info_2);
/* init_unistr( &print_info_2.servername, srv_name); */
init_unistr( &print_info_2.printername, printer_name);
- /* init_unistr( &print_info_2.sharename, share_name); */
+ init_unistr( &print_info_2.sharename, share_name);
init_unistr( &print_info_2.portname, port_name);
init_unistr( &print_info_2.drivername, driver_name);
init_unistr( &print_info_2.comment, "Created by rpcclient");
/* init_unistr( &print_info_2.parameters, ""); */
print_info_2.devmode = NULL;
print_info_2.secdesc = NULL;
- print_info_2.attributes = 0;
+ print_info_2.attributes = PRINTER_ATTRIBUTE_SHARED;
print_info_2.priority = 0;
print_info_2.defaultpriority = 0;
print_info_2.starttime = 0;