mirror of
https://github.com/samba-team/samba.git
synced 2025-01-12 09:18:10 +03:00
s3-spoolss: add support for level 8 in _spoolss_GetPrinter().
Guenther
This commit is contained in:
parent
bcd042e595
commit
65ee4ae30b
@ -4084,6 +4084,39 @@ static WERROR construct_printer_info7(TALLOC_CTX *mem_ctx,
|
||||
return WERR_OK;
|
||||
}
|
||||
|
||||
/********************************************************************
|
||||
* construct_printer_info8
|
||||
* fill a spoolss_PrinterInfo8 struct
|
||||
********************************************************************/
|
||||
|
||||
static WERROR construct_printer_info8(TALLOC_CTX *mem_ctx,
|
||||
const NT_PRINTER_INFO_LEVEL *ntprinter,
|
||||
struct spoolss_DeviceModeInfo *r,
|
||||
int snum)
|
||||
{
|
||||
struct spoolss_DeviceMode *devmode;
|
||||
WERROR result;
|
||||
|
||||
if (!ntprinter->info_2->devmode) {
|
||||
r->devmode = NULL;
|
||||
return WERR_OK;
|
||||
}
|
||||
|
||||
devmode = TALLOC_ZERO_P(mem_ctx, struct spoolss_DeviceMode);
|
||||
W_ERROR_HAVE_NO_MEMORY(devmode);
|
||||
|
||||
result = convert_nt_devicemode(mem_ctx, devmode, ntprinter->info_2->devmode);
|
||||
if (!W_ERROR_IS_OK(result)) {
|
||||
TALLOC_FREE(devmode);
|
||||
return result;
|
||||
}
|
||||
|
||||
r->devmode = devmode;
|
||||
|
||||
return WERR_OK;
|
||||
}
|
||||
|
||||
|
||||
/********************************************************************
|
||||
* construct_printer_info1
|
||||
* fill a spoolss_PrinterInfo1 struct
|
||||
@ -4636,6 +4669,10 @@ WERROR _spoolss_GetPrinter(pipes_struct *p,
|
||||
result = construct_printer_info7(p->mem_ctx, Printer,
|
||||
&r->out.info->info7, snum);
|
||||
break;
|
||||
case 8:
|
||||
result = construct_printer_info8(p->mem_ctx, ntprinter,
|
||||
&r->out.info->info8, snum);
|
||||
break;
|
||||
default:
|
||||
result = WERR_UNKNOWN_LEVEL;
|
||||
break;
|
||||
|
Loading…
Reference in New Issue
Block a user